Estoy aprendiendo sobre los estándares UTF-8 y esto es lo que estoy aprendiendo:
Definition and bytes used
UTF-8 binary representation Meaning
0xxxxxxx 1 byte for 1 to 7 bits chars
110xxxxx 10xxxxxx 2 bytes for 8 to 11 bits chars
1110xxxx 10xxxxxx 10xxxxxx 3 bytes for 12 to 16 bits chars
11110xxx 10xxxxxx 10xxxxxx 10xxxxxx 4 bytes for 17 to 21 bits chars
Y me pregunto, ¿por qué el código UTF-8 de 2 bytes no es 10xxxxxx
, en su lugar, ganando 1 bit hasta 22 bits con un código UTF-8 de 4 bytes? Tal como está ahora, se pierden 64 valores posibles (de 1000000
a 10111111
). No estoy tratando de discutir los estándares, pero me pregunto por qué es así.
** EDITAR **
Incluso, ¿por qué no es así?
UTF-8 binary representation Meaning
0xxxxxxx 1 byte for 1 to 7 bits chars
110xxxxx xxxxxxxx 2 bytes for 8 to 13 bits chars
1110xxxx xxxxxxxx xxxxxxxx 3 bytes for 14 to 20 bits chars
11110xxx xxxxxxxx xxxxxxxx xxxxxxxx 4 bytes for 21 to 27 bits chars
...?
¡Gracias!
10xxxxxx
¿puede usar10xxxxxx xxxxxxxx
2 bytes para 8 - 14 bits?