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

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

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


person Sean Jezewski    schedule 05.04.2012    source источник


Ответы (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:

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

Как насчет виндовс-1252?

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

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

person dan04    schedule 05.04.2012
comment
Итак, вы говорите, что репетитор iso-8859-1 является правильным подмножеством репертуара utf-8? Я полагаю, что. В чем я не уверен, так это в том, что репертуар utf-8 равен репертуару юникода. Я думал, что цель utf-16/utf-32 заключалась в том, чтобы иметь возможность кодировать больше/все символы Юникода соответственно. - person Sean Jezewski; 05.04.2012
comment
Ааа.. Я посмотрел. Поскольку UTF-8 может представлять символы как несколько байтов, он может выражать весь репертуар Unicode. Теперь это имеет смысл. - person Sean Jezewski; 05.04.2012

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

person deceze♦    schedule 05.04.2012