Терминология и понятия, связанные с использованием кодовых страниц - PullRequest
4 голосов
/ 04 августа 2010

Я нахожусь в процессе исследования кодовых страниц и натолкнулся на множество противоречивых терминов, даже среди разных статей в Википедии.Я просто не могу найти источник информации, который объясняет весь процесс обработки персонажа от начала до конца.Может ли кто-нибудь хорошо разбираться в этой области, предложить способы, которыми следующая информация является неточной или неправильной:

Процесс представления символов, насколько я понимаю:

  • Мы начинаемс наборами символов (не уверен в правильной терминологии здесь, возможно, «сценарии»), которые не связаны с какой-либо конкретной платформой.«Кириллический алфавит» понимается как относящийся к тому же объекту в контексте Windows, что и в Linux, например.

  • Члены этих наборов выбираются, как правило, группами, поставщикамисформировать набор символов для конкретной платформы.Платформа может назначать эти различные коды, такие как значения GDI в Windows (например, 0 для ANSI_CHARSET и другие коды, упомянутые здесь: http://asa.diac24.net/wiki/index.php?title=ASS:fe&printable=yes). Я не могу найти много информации об этих наборах, например, являются ли они фактически кодированными наборами символовили если они просто неупорядочены и абстрактны.

  • Из этих наборов разрабатываются отдельные кодовые страницы, которые, по-видимому, имеют однозначное сопоставление со значениями GDI. Поскольку эти значения GDI, по-видимому, представляютнаборы, зависящие от платформы, означает ли это, что кодовые страницы Windows по сути являются кодированной версией каждого отдельного набора?

У меня возникли проблемы при согласовании этой идеи со ссылкой, показанной мне ранее(который я потерял), который показал однозначное соответствие между этими кодировками GDI и кодовыми страницами на разных платформах. Является ли это точным, указывают ли эти значения GDI на наборы, из которых могут быть разработаны различные кодовые страницы на разных платформах?*

  • Каждая кодовая страница сопоставляетсяЭмбер абстрактного набора символов в целое число для представления его позиции в наборе.В случае «более простых» кодовых страниц, упомянутых на приведенной выше веб-странице, к ним можно обращаться, используя более точный термин «символьная карта».Стоит ли рассматривать этот термин, или это различие слишком тонкое и неважное?

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

Я полагаю, в этом вся моя путаница.Любые разъяснения в этом отношении были бы неоценимы.Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 28 мая 2011

Это может быть хорошим совпадением: http://mihai -nita.net / 2006/08/06 / basic-lingo /

0 голосов
/ 23 апреля 2011

Вы абсолютно правы:

  • Начните с количества известных символов.
  • Выберите подмножество этих символов (набор символов)
  • Отобразите этив битовые шаблоны (кодовая страница и кодировка)
  • Визуализируйте их на устройство вывода, комбинируя символ с глифом (т. е. используя шрифт, битовый шаблон и кодовую страницу / кодировку, которая отображает битовый шаблон в символ).

На разных платформах есть похожие кодовые страницы.И даже во многих кодовых страницах есть сопоставления значения для символа.Например, Windows Latin, Mac Roman и Unicode совместно используют символы для первых 127 значений.Существует некоторая стандартизация (например, http://en.wikipedia.org/wiki/Shift_JIS для японского языка) кодовых страниц, чтобы машины могли взаимодействовать.

Как правило, для новых разработок следует использовать кодовую страницу Unicode с одной из популярных кодировок.UTF8 популярен на большинстве современных систем.UTF16LE используется для системных вызовов Windows, оканчивающихся на W.

...