Según el artículo de Wikipedia , UTF-8 tiene este formato:
Primer código Último código Bytes Byte 1 Byte 2 Byte 3 Byte 4 punto punto utilizado 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 significa que este bit se usa para seleccionar el punto de código.
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?
Primer código Último código Bytes Byte 1 Byte 2 Byte 3 punto punto utilizado U + 0000 U + 007F 1 0xxxxxxx U + 0080 U + 3FFF 2 10xxxxxx xxxxxxxx U + 0800 U + 1FFFFF 3110xxxxx xxxxxxxx xxxxxxxx
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?