Centro de Información

UTF-32

En la codificación UTF-32 de Unicode, cada carácter está codificado con cuatro bytes (32 bits). El resultado es un requisito de memoria mayor en comparación con todas las demás codificaciones, ya que todas las demás codificaciones utilizan longitudes de bytes variables para un carácter. Sin embargo, esto también tiene la ventaja de que los archivos o flujos codificados en UTF-32 son más fáciles de manejar y procesar, ya que cada byte tiene exactamente su lugar y no puede haber longitudes variables.

Ventajas y Desventajas de UTF-32

Una ventaja de esta codificación es que se puede acceder fácilmente a un carácter específico en la memoria y no es un problema determinar rápidamente et simplemente la longitud de un texto, ya que solo tiene que dividir el número de bytes utilizados por cuatro para obtener el número de caracteres.

Una desventaja decisiva es la mayor necesidad de memoria. En comparación con los textos que consisten en letras latinas, que se almacenan en UTF-7, UTF-8ANSI, el requisito de memoria de la codificación UTF-32 es cuatro veces mayor. Incluso en el caso de que esté utilizando otros caracteres como las letras cirílicas o griegas, UTF-32 necesita mucha más memoria, porque en todas las demás codificaciones, los caracteres menos usados ​​y los caracteres inusuales se codifican con cuatro bytes.

Marca de Orden de Bytes

UTF-32 puede almacenarse como Big Endian y Little Endian. Esto significa que el orden de bytes (= endianness) es de derecha a izquierda (big endian) o de izquierda a derecha (little endian). La marca de orden de bytes (byte order mark, BOM) para un almacenamiento como Big Endian es 00 00 FE FF, como Little Endian FF FE 00 00, en consecuencia.

Si abre un archivo en formato UTF-32 en un editor de texto u otro programa que no puede interpretar el formato UTF-32, las letras latinas suelen aparecer con una distancia de 3 espacios o signos de interrogación entre las letras individuales. Esto se debe al hecho de que en el formato UTF-32 cada carácter se guarda con 4 bytes y los caracteres como A-Z o a-z están codificados como 3 bytes nulos más un byte que corresponde exactamente al byte respectivo para el carácter del juego de caracteres ASCII. Si el programa interpreta la secuencia de bytes del archivo como ASCII o Latin-1, los caracteres ASCII o Latin-1 se retienen y los bytes cero se muestran como espacios o signos de interrogación.

La marca de orden de bytes en este contexto se muestra típicamente para UTF32-BE como "??þÿ" o como "ÿþ??" para archivos codificados en formato UTF32-LE. El byte cero no tiene un carácter equivalente específico, por lo que la representación depende del programa utilizado. Además de los espacios o los signos de interrogación, la lectura del archivo también se puede interrumpir por completo en la posición del primer byte cero.