Secondo l' articolo di Wikipedia , UTF-8 ha questo formato:
Primo codice Ultimo codice Byte Byte 1 Byte 2 Byte 3 Byte 4 punto punto Usato 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 indica che questo bit viene utilizzato per selezionare il punto di codice.
In questo modo si sprecano due bit per ogni byte di continuazione e un bit nel primo byte. Perché UTF-8 non è codificato come il seguente?
Primo codice Ultimo codice Byte Byte 1 Byte 2 Byte 3 punto punto Usato U + 0000 U + 007F 1 0xxxxxxx U + 0080 U + 3FFF 2 10xxxxxx xxxxxxxx U + 0800 U + 1FFFFF 3 110xxxxx xxxxxxxx xxxxxxxx
Si risparmia un byte quando il punto di codice è fuori dal piano multilingue di base o se il punto di codice è compreso nell'intervallo [U + 800, U + 3FFF].
Perché UTF-8 non è codificato in modo più efficiente?