Набор символов Специальные символы

  • Является ли iso-8859-1 правильным подмножеством utf-8?
  • Что насчет iso-8859-n?
  • Что насчет windows-1252?

Если ответ отрицательный на любой из вышеперечисленных, каковы непересекающиеся символы? Я тестирую логику, которая обнаруживает кодировки и хочу написать тесты, чтобы убедиться, что обнаружение работает правильно.

2 ответа

Решение

Является ли iso-8859-1 правильным подмножеством utf-8?

Список символов ISO-8859-1 (первые 256 символов Unicode) является надлежащим подмножеством UTF-8 (каждый символ Unicode).

Однако символы от U+0080 до U+00FF кодируются по- разному в двух кодировках.

  • ISO-8859-1 назначает каждому из этих символов один байт из 80 в FF,
  • UTF-8 кодирует те же символы, что и двухбайтовые последовательности C2 80 в C3 BF,

Что насчет iso-8859-n?

Это 15 различных кодировок, которые содержат в общей сложности 614 различных символов. Некоторые из этих символов встречаются в нескольких "частях" ISO 8859, а некоторые нет. Вы должны быть более конкретными.

Я вижу, что ваш вопрос помечен ISO-8859-2. Символы в -2, которые не в -1:

Ă㥹ĆćČčĎďĐđĘęĚěĹ弾ŁłŃńŇňŐőŔŕŘřŚśŞşŠšŢţŤťŮůŰűŹźŻżŽžˇ˘˙˛˝

Что насчет windows-1252?

Windows-1252 аналогична ISO-8859-1 за исключением того, что она заменяет редко используемые управляющие символы в диапазоне 0x80-0x9F печатными символами. Символы, которые есть в windows-1252, но не в ISO-8859-1:

ŒœŠšŸŽžƒˆ˜–—‘’‚“”„†‡•…‰‹›€™

Юникод является надмножеством всех этих наборов символов, и в значительной степени всех установленных наборов символов там. Вы можете найти список сопоставлений всех этих наборов символов с кодовыми точками Unicode здесь: http://unicode.org/Public/MAPPINGS/.

Другие вопросы по тегам