Первые 128 символов utf-8 и ascii идентичны? - PullRequest
0 голосов
/ 29 июня 2019

Являются ли первые 128 символов utf-8 и ascii идентичными?

utf-8 table

Ascii table

1 Ответ

0 голосов
/ 29 июня 2019

Да.Это был преднамеренный выбор в конструкции UTF-8, чтобы существующий 7-битный ASCII был совместим.

Кодирование также разработано намеренно, чтобы 7-битные значения ASCII не могли ничего значить , кроме их эквивалент ASCII.Например, в UTF-16 символ евро (€) кодируется как 0x20 0xAC.Но 0x20 это ПРОБЕЛ в ASCII.Поэтому, если только ASCII-алгоритм пытается разделить пробелом строку, например, «€ 10», закодированную в UTF-16, он повредит данные.

Этого не может быть в UTF-8.€ там кодируется как 0xE2 0x82 0xAC, ни одно из которых не является допустимым 7-битным значением ASCII.Таким образом, алгоритм ASCII, который наивно разделяется на ASCII SPACE (0x20), все равно будет работать, даже если он ничего не знает о кодировке UTF-8.(То же самое верно для любого символа ASCII, такого как косая черта, запятая, обратная косая черта, проценты и т. Д.) UTF-8 - невероятно умная кодировка текста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...