Según el artículo de Wikipedia , UTF-8 tiene este formato:
First code Last code Bytes Byte 1 Byte 2 Byte 3 Byte 4 point point Used U+0000 U+007F 1 0xxxxxxx U+0080 U+07FF 2 110xxxxx 10xxxxxx U+0800 U+FFFF 3 1110xxxx 10xxxxxx 10xxxxxx U+10000 U+1FFFFF 4 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx x means that this bit is used to select the code point.
Esto desperdicia dos bits en cada byte de continuación y un bit en el primer byte. ¿Por qué UTF-8 no está codificado como el siguiente?
First code Last code Bytes Byte 1 Byte 2 Byte 3 point point Used U+0000 U+007F 1 0xxxxxxx U+0080 U+3FFF 2 10xxxxxx xxxxxxxx U+0800 U+1FFFFF 3 110xxxxx xxxxxxxx xxxxxxxx
Se ahorraría un byte cuando el punto de código está fuera del plano multilingüe básico o si el punto de código está dentro del rango [U + 800, U + 3FFF].
¿Por qué UTF-8 no está codificado de una manera más eficiente?