Подтвердить что ты не робот

ASCII против Unicode + UTF-8

Читал Джоэл Спольски "Абсолютный минимум" о кодировке символов. Насколько я понимаю, ASCII является схемой кодирования + кодирования, и в наше время мы используем Unicode в качестве схемы кодирования и UTF-8 в качестве схемы кодирования. Это правильно?

4b9b3361

Ответ 1

Да, за исключением того, что UTF-8 является схемой кодирования. Другие схемы кодирования включают UTF-16 (с двумя разными порядками байтов) и UTF-32. (Для некоторой путаницы схема UTF-16 называется "Unicode" в программном обеспечении Microsoft.)

И, если быть точным, Американский национальный стандарт, который определяет ASCII, указывает набор символов и их кодирование как 7-битовые величины, не указывая конкретную кодировку передачи в терминах байтов. В прошлом он использовался по-разному, например, так что пять символов ASCII были упакованы в один 36-разрядный блок памяти или так, чтобы 8-битные байты использовали дополнительные байты для целей проверки (бит четности) или для управления передачей. Но в настоящее время ASCII используется так, что один символ ASCII кодируется как один 8-разрядный байт с первым битом, установленным в ноль. Это стандартная схема кодирования де-факто и подразумевается в большом количестве спецификаций, но, строго говоря, не является частью стандарта ASCII.

Ответ 2

В наше время ASCII теперь является подмножеством UTF-8, а не его собственной схемой. UTF-8 обратно совместим с ASCII.