CCSID - CCSID

А CCSID (идентификатор кодированного набора символов) - это 16-битное число, которое представляет конкретное кодирование конкретного кодовая страница. Например, Unicode - это кодовая страница, которая имеет несколько форм кодирования (так называемых "преобразований"), например UTF-8, UTF-16 и UTF-32, но который на самом деле может сопровождаться или не сопровождаться номером CCSID, чтобы указать, что эта кодировка используется.

Разница между кодовой страницей и CCSID

Условия кодовая страница и CCSID часто используются как синонимы, хотя и не являются синонимами. Кодовая страница может быть только частью того, что составляет CCSID. Следующие определения от IBM помогают проиллюстрировать этот момент:

  • А глиф представляет собой фактический физический образец пикселей или чернил, который отображается на дисплее или распечатке.
  • А характер это концепция, которая охватывает все глифы, связанные с определенным символом. Например, «F», «F", "F", "F", "F", и "F"все разные глифы, но используют один и тот же символ. Различные модификаторы (полужирный, курсив, подчеркивание, цвет и шрифт) не изменяют существенную F-ность буквы F.
  • А набор символов содержит символы, необходимые для того, чтобы конкретный человек мог полноценно взаимодействовать с компьютером. Он не определяет, как эти символы представлены на компьютере.[1] Этот уровень является первым, на котором символы разделяются на различные алфавиты (латинский, арабский, иврит, кириллица и т. Д.) Или идеографические группы (например, китайский, корейский). Это соответствует «репертуару персонажей» в Модель кодирования Unicode.
  • А кодовая страница представляет собой конкретное присвоение символов значениям кодовой точки.[1] Он соответствует «набору кодированных символов» в модели кодирования Unicode. А кодовая точка для символа - это внутреннее представление этого символа компьютером на данной кодовой странице.[1] Многие символы представлены разными кодовыми точками на разных кодовых страницах. Определенные наборы символов могут быть адекватно представлены однобайтовыми кодовыми страницами (которые имеют максимум 256 кодовых точек, следовательно, максимум 256 символов), но для многих требуется больше. Примеры включают JIS X 0208 и Unicode.
  • An схема кодирования - байтовый формат кодовой страницы. Он сопоставляет значения кодовых точек с последовательностями одного или нескольких байтовых значений на компьютере.[2] Например, UTF-8 и UTF-16BE это две кодировки одной и той же кодовой страницы Unicode. (Зависит только от того, сколько байтов необходимо для представления конкретного значения символа Unicode, как оно содержится в этих байтах и ​​как указывается наличие информации Unicode.) Между тем, в архитектуре представления символьных данных IBM (CDRA) это обычно представлен с помощью ESID (идентификатор схемы кодирования).[3] EUC и ISO-2022 другие примеры схем кодирования.
  • А идентификатор кодированного набора символов (CCSID) содержит всю информацию, необходимую для присвоения и сохранения значения и отображения символов на различных этапах обработки и обмена. Эта информация всегда включает как минимум одну кодовую страницу, но может включать несколько кодовых страниц разной длины в байтах. CCSID также имеет связанную схему кодирования, которая определяет, как должны обрабатываться различные кодовые точки. Этот механизм позволяет программе распознавать двунаправленный ориентация, формирование символов (в основном арабских символов) и другая сложная информация о кодировке.

Примеры

В следующих примерах показано, как одни CCSID состоят из других CCSID.

CCSID 932[4]
Набор символовКодовая страницаCCSIDСхема кодирования
0112200897897SBCS
0037000301301DBCS
CCSID 942[5]
Набор символовКодовая страницаCCSIDСхема кодирования
01172010411041SBCS
0037000301301DBCS
CCSID 5028[6]
Набор символовКодовая страницаCCSIDСхема кодирования
01170008974993SBCS
0037000301301DBCS

Все три варианта Shift-JIS CCSID многобайтовые наборы символов (MBCS): часть набора однобайтовых символов (SBCS) каждого CCSID отличается. В двухбайтовый набор символов (DBCS) часть одинакова для всех CCSID. CCSID 5028 использует обновленную кодовую страницу 897 под названием CCSID 4993. CCSID 932 использует исходную кодовую страницу 897, которая является CCSID 897. CCSID 942 использует SBCS, отличный от двух других CCSID, то есть 1041.

Также обратите внимание, что CCSID 5028 и 4993 отличаются на 4096 (1000 в шестнадцатеричном формате) от CCSID предшественника с тем же идентификатором кодовой страницы. Это обычный способ, которым CDRA обозначает обновленный CCSID.

Причин такой сложности несколько:

  • Многие из CCSID используются в базах данных IBM, например DB2, где поле базы данных поддерживает только строку SBCS, DBCS или MBCS. CCSID позволяют программам различать, какой из них используется.
  • Когда символы добавляются или заменяются, как введение знака валюты евро, можно узнать, поддерживают ли сохраненные строки эти добавления символов, потому что используется другой CCSID. Это управление версиями важно для целостности данных.
  • Это позволяет повторно использовать ресурсы среди похожих CCSID.[7]

использованная литература

  1. ^ а б c «Терминология IBM - Термины C». IBM. Получено 2013-01-25.
  2. ^ «Архитектура представления символьных данных». IBM. Приложение A. Схемы кодирования. Получено 2019-06-29.
  3. ^ «Архитектура представления символьных данных». IBM. Глава 3. Идентификаторы CDRA, раздел «Полная идентификация». Получено 2019-06-29.
  4. ^ «Смешанные данные японских ПК, включая 1880 UDC». Глобализация. IBM. Архивировано из оригинал 20 февраля 2012 г.. Получено 29 ноября, 2011.
  5. ^ «Смешанные данные японских ПК, включая 1880 UDC, расширенный SBCS». Глобализация. IBM. Архивировано из оригинал 1 декабря 2014 г.. Получено 29 ноября, 2011.
  6. ^ «Смешанные данные японских ПК, включая 1880 UDC (Катакана - общий набор ПК для SBCS)». Глобализация. IBM. Архивировано из оригинал 29 ноября 2014 г.. Получено 29 ноября, 2011.
  7. ^ http://www.ibm.com/software/globalization/cdra/chapter7.html

внешние ссылки