Единый код хангыль - Unified Hangul Code

Единый код хангыль
Единый код хангыля.svg
Макет единого кода хангыль
Псевдоним (а)Кодовая страница Windows 949, Кодовая страница IBM 1363
Язык (и)Корейский
СтандартСтандарт кодирования WHATWG (как «EUC-KR»)[1]
КлассификацияРасширенный ISO 646,[а] кодирование с переменной шириной, Кодирование CJK
РасширяетсяEUC-KR
Другая связанная кодировка (и)КПС 9566 -2003, КПС 9566-2011
  1. ^ Не в самом строгом смысле этого слова, поскольку байты ASCII могут отображаться как байты следа, хотя это ограничено байтами букв.

Единый код хангыль (UHC),[2][а] или же Расширенный Wansung,[4][b] также известен под Майкрософт Виндоус в качестве Кодовая страница 949 (Окна-949, MS949 или двусмысленно CP949), это Microsoft Windows кодовая страница для корейский язык. Это расширение Wansung Code (KS C 5601: 1987, кодируется как EUC-KR ) включить все 11172 Хангыль слоги присутствуют в Йохаб (KS C 5601: 1992 приложение 3).[4][2] Это соответствует заранее составленные слоги доступно в Unicode 2.0 и новее.

Недостаток кода Wansung состоит в том, что он назначает коды только для 2350 заранее составленных слогов хангыля, которые имеют свои собственные KS X 1001 (KS C 5601) кодовых точек (из 11172 в общей сложности, не считая тех, которые используют устаревшее jamo), и требует, чтобы другие использовали восьмибайтовые последовательности композиции, которые не поддерживаются некоторыми частичными реализациями стандарта.[5] UHC решает эту проблему, присваивая единые коды для всех возможных слогов, созданных с использованием современного джамо, путем выполнения назначений за пределами кодового пространства, используемого для KS X 1001.

Диапазон старших байтов расширен до 0x 81 – FE, а диапазон байтов следа расширен до 0x41–5A, 0x61–7A и 0x81 – FE (в EUC-KR оба диапазона равны 0xA1 – FE). Коды вне диапазонов EUC-KR используются для дополнительного хангыля.[6]

Терминология

Единый код хангыль не зарегистрирован в IANA как стандарт для передачи информации через Интернет.[7] Альтернативы включают UTF-8. Тем не менее W3C /WHATWG Стандарт кодирования, используемый HTML5 включает расширения Унифицированного кода хангыль в свое определение "EUC-KR".[1]

Microsoft присваивает Windows-949 ярлык "ks_c_5601-1987",[8][9] что правильно относится к KS X 1001 сам (KS C 5601 оригинальное название KS X 1001).[10] WHATWG рассматривает метку «ks_c_5601-1987» как синонимы «EUC-KR» с целью «совместимости с развернутым контентом».[11] В Консорциум Unicode Коллекция отозванных сопоставлений «OBSOLETE / EASTASIA» включала сопоставления для Unified Hangul Code как «KSC5601.TXT» с автоматически полученными сопоставлениями для 7-битного KS X 1001, включенными как «KSX1001.TXT».[12]

Кодовая страница IBM 949 это еще одно расширение EUC-KR, не связанное с этим. Международные компоненты для Unicode (ICU) использует "cp949", "949" или "ibm-949" для обозначения этой кодовой страницы IBM,[13] и «ms949» или «windows-949» (или несколько вариантов «ks_c_5601-1987») для обозначения отображения UHC Windows.[14] Python, напротив, распознает «cp949», «949», «ms949» и «uhc» как метки для UHC и не включает кодек IBM-949.[15] Из этикеток, содержащих номер кодовой страницы, WHATWG распознает только "windows-949".[11]

Кодовая страница IBM для Unified Hangul Code называется Кодовая страница 1363 (IBM-1363) или "корейский MS-Win". Это комбинация SBCS Кодовая страница 1126 и DBCS Кодовая страница 1362.[16][17][18][19][20] Он отличается тем, что имеет однобайтовое отображение 0x5C в Выиграл знак (U + 20A9);[21][22][23] Windows сопоставляет 0x5C с U + 005C (кодовая точка Unicode для обратная косая черта ) как в ASCII,[14] хотя шрифты часто по-прежнему отображают это как знак победы.[24] Отображение Unicode волнового тире (0xA1AD) также отличается: отображение IBM отдает предпочтение U + 301C,[25] в то время как отображение Microsoft отдает предпочтение U + 223C (оператор тильды).[26] Отображение IBM для UHC доступно как "ibm-1363" в ICU,[21] тогда как кодек ICU "windows-949" упоминается как IBM-1261 в некоторых комментариях к исходному коду ICU.[27]

Сноски

  1. ^ Корейский: 통합형 한글 코드[3], романизированныйТонхабхён Хангыль Кодеу
  2. ^ Корейский: 확장 완성형, романизированныйХвагчжан Вансонхён

Рекомендации

  1. ^ а б ван Кестерен, Энн, «5. Индексы (§ индекс EUC-KR)», Стандарт кодирования, WHATWG
  2. ^ а б «ИНФОРМАЦИЯ: Наборы символов хангыль (корейский)», Служба поддержки Microsoft, Microsoft
  3. ^ "한글 코드 에 대하여" (на корейском). W3C.
  4. ^ а б Жигри, Дьюла (18.06.2002). «КСК и УХК».
  5. ^ Шин, Юнгшик. "Что такое KS X 1001 (KS C 5601) и другие коды хангыля?". Хангыль и Интернет в Корее FAQ.
  6. ^ Лунде, Кен. «Приложение F: методы кодирования поставщика» (PDF). CJKV Обработка информации (2-е изд.). O'Reilly Media. ISBN  978-0-596-51447-1.
  7. ^ «Наборы символов». Iana.org. Получено 2017-01-11.
  8. ^ "Свойство Encoding.WindowsCodePage - .NET Framework (текущая версия)". MSDN. Microsoft.
  9. ^ «Идентификаторы кодовой страницы», Центр разработки для Windows, Microsoft
  10. ^ IBM; Консорциум Unicode. "convrtrs.txt". Международные компоненты для Unicode. Версия 59180.0.1. [...] использование KS C 5601 или связанных имен для обозначения EUC-KR или windows-949 очень вводит в заблуждение [...] Это просто название корейского кода 94 x 94 стандарт набора символов, который может быть вызван либо для GL (со сбросом MSB), либо для GR (с установленным MSB).
  11. ^ а б ван Кестерен, Энн. «4.2. Имена и ярлыки». Стандарт кодирования. WHATWG.
  12. ^ Юнгшик Шин. "KSX1001.TXT: KS X 1001 в таблицу Unicode". Unicode, Inc.
  13. ^ "ibm-949_P110-1999 (псевдоним cp949)", Конвертер Explorer, Международные компоненты для Unicode
  14. ^ а б "окна-949-2000", Конвертер Explorer, Международные компоненты для Unicode
  15. ^ «кодеки - реестр кодеков и базовые классы § Стандартные кодировки». Документация Python 3.7.2. Фонд программного обеспечения Python.
  16. ^ «Идентификаторы кодированного набора символов - CCSID 1363», IBM Глобализация, IBM, заархивировано из оригинал в 2014-11-29
  17. ^ «Кодовая страница 1126 информационного документа». Архивировано из оригинал на 2017-01-16.
  18. ^ «Информационный документ CCSID 1126». Архивировано из оригинал on 2016-03-27.
  19. ^ «Кодовая страница 1362 информационного документа». Архивировано из оригинал 17 марта 2017 г.
  20. ^ «Информационный документ CCSID 1362». Архивировано из оригинал on 2016-03-27.
  21. ^ а б "ИБМ-1363", Конвертер Explorer, Международные компоненты для Unicode
  22. ^ Кодовая страница CPGID 01126 (pdf) (PDF), IBM
  23. ^ Кодовая страница CPGID 01126 (txt), IBM
  24. ^ Каплан, Майкл С. (17 сентября 2005 г.), "Когда обратная косая черта не является обратной?", Сортировка всего
  25. ^ "ibm-1363_P110-1997 (ведущий байт A1)". Демонстрация ICU - Конвертер Explorer. Международные компоненты для Unicode.
  26. ^ "windows-949-2000 (ведущий байт A1)". Демонстрация ICU - Конвертер Explorer. Международные компоненты для Unicode.
  27. ^ См. Для справки ucnv_lmb.cpp (Брендан Мюррей, Джим Снайдер-Грант), где главный байт 0x11 прокомментирован как относящийся к «корейскому: ibm-1261» после определения ULMBCS_GRP_KO, но он сопоставлен с "окна-949" Кодек ICU в OptGroupByteToCPName массив позже в файле.

внешняя ссылка