Я изучаю стандарты UTF-8, и вот что я изучаю:
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
И мне интересно, почему 2- байтовый код UTF-8 не является 10xxxxxx
вместо этого, таким образом, получая 1 бит до 22 бит с 4-байтовым кодом UTF-8? Как сейчас, потеряно 64 возможных значения (от 1000000
до 10111111
). Я не пытаюсь утверждать стандарты, но мне интересно, почему это так?
** РЕДАКТИРОВАТЬ **
Даже почему бы и нет
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
...?
Спасибо!