unicode character-encoding utf-32

unicode - utf-64



¿Por qué no hay UTF-24? (1)

Bueno, la verdad es que: se sugirió UTF-24 en 2007:

http://unicode.org/mail-arch/unicode-ml/y2007-m01/0057.html

Los pros y contras mencionados son:

"UTF-24 Advantages: 1. Fixed length code units. 2. Encoding format is easily detectable for any content, even if mislabeled. 3. Byte order can be reliably detected without the use of BOM, even for single-code-unit data. 4. If octets are dropped / inserted, decoder can resync at next valid code unit. 5. Practical for both internal processing and storage / interchange. 6. Conversion to code point scalar values is more trivial then for UTF-16 surrogate pairs and UTF-7/8 multibyte sequences. 7. 7-bit transparent version can be easily derived. 8. Most compact for texts in archaic scripts. Disadvantages: 1. Takes more space then UTF-8/16, except for texts in archaic scripts. 2. Comparing to UTF-32, extra bitwise operations required to convert to code point scalar values. 3. Incompatible with many legacy text-processing tools and protocols. "

Como lo señaló David Starner en http://www.mail-archive.com/[email protected]/msg16011.html :

¿Por qué? UTF-24 será casi invariablemente más grande que UTF-16, a menos que esté hablando de un documento en cursiva antiguo o gótico. Los caracteres alfanuméricos matemáticos casi siempre se combinarán con suficiente ASCII para hacer de UTF-8 una victoria, y si no, suficientes caracteres BMP para hacer de UTF-16 una victoria. Las computadoras modernas no manejan bien los trozos de 24 bits; en la memoria, ocuparían 32 bits por pieza, a menos que los declarara empaquetados, y luego serían mucho más lentos que UTF-16 o UTF-32. Y si está almacenando en el disco, también puede usar BOCU o SCSU (ya no es estándar), o usar compresión estándar con UTF-8, UTF-16, BOCU o SCSU. SCSU o BOCU comprimidos deberían ocupar la mitad del espacio de UTF-24, si eso.

También puedes consultar la siguiente publicación de StackOverflow:

¿Por qué existe UTF-32 mientras que solo se necesitan 21 bits para codificar cada carácter?

Posible duplicado:
¿Por qué existe UTF-32 mientras que solo se necesitan 21 bits para codificar cada carácter?

El punto de código máximo de Unicode es 0x10FFFF en UTF-32. UTF-32 tiene 21 bits de información y 11 bits en blanco superfluos. Entonces, ¿por qué no hay codificación UTF-24 (es decir, UTF-32 con el byte alto eliminado) para almacenar cada punto de código en 3 bytes en lugar de 4?