Почему ** код ASCll приходится 1 байт ** символ, а ** код Unicode-2 байта ** символ?

0 голосов
59 просмотров

Почему на код ASCll приходится 1 байт на символ, а на код Unicode-2 байта на символ?


Информатика (44 баллов) | 59 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Потому что в ASCII всего 2^8 = 256 символов (обычно это цифры, символы, латиница большие и маленькие буквы, национальный алфавит большие и маленькие буквы)

в юникоде же все сложнее. UTF-16 действительно занимает 16 бит на символ и имеет в себе 2^16 = 65`536 символов, куда помещается множество алфавитов разных языков, в том числе куча иероглифов, которые в ASCII просто не помещались. Описание наборов символов есть на вики

но есть еще и UTF-8 юникодная кодировка которая организована куда сложнее, занимает по 8 бит на символ для латиницы, но дальше идет расширение. Например символы кириллицы занимают уже по 16 бит

в юникоде есть и другие типы кодировок типа UTF-32LE соответственно 32 бита на символ

так что утверждение что "код Unicode-2 байта на символ" вообще говоря сомнительно без уточнения конкретной кодировки. 

(55.0k баллов)