Набор символов Специальные символы
- Является ли 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/.