ГБ 18030

Официальная кодировка китайских символов
ГБ 18030
Схема кодирования GB 18030. «Полукоды» обозначают коды, используемые парами как четырехбайтовые коды.
MIME/IANAГБ18030
Псевдоним(ы)Код страницы 54936
Язык(и)Международный, но в первую очередь предназначен для китайцев
СтандартГБ 18030-2022, ГБ 18030-2005, ГБ 18030-2000
КлассификацияФормат преобразования Unicode , расширенный ASCII , [a] кодировка переменной ширины , кодировка CJK
РасширяетEUC-CN , GBK
Преобразует/КодируетISO 10646 ( Юникод )
ПредшествовалГБК , ГБ2312
  1. ^ Не в строгом смысле этого слова, поскольку байты ASCII могут отображаться как байты конца.

GB 18030 — это китайский государственный стандарт , описываемый как «Информационные технологии — набор китайских кодированных символов» , который определяет требуемую поддержку языка и символов, необходимую для программного обеспечения в Китае . GB18030 — это зарегистрированное интернет-имя официального набора символов Китайской Народной Республики ( КНР), заменяющее GB2312 . [1] Как формат преобразования Unicode [a] (т. е. кодировка всех кодовых точек Unicode ), GB18030 поддерживает как упрощенные , так и традиционные китайские символы . Он также совместим с устаревшими кодировками, включая GB/T 2312 , CP936 , [b] и GBK  1.0.

Консорциум Unicode предупредил разработчиков, что последняя версия этого китайского стандарта, GB 18030-2022 , вводит то, что они называют «разрушительными изменениями» по сравнению с предыдущей версией GB 18030-2005, «включая 33 различных символа и 55 позиций кода». [2] GB 18030-2022 вступил в силу с 1 августа 2023 года. [3] Он был реализован в ICU 73.2; и в Java 21, [4] и перенесен в более старые версии Java 8, 11, 17 (выпуски LTS) и 20.0.2. [5]

В дополнение к методу кодирования этот стандарт содержит требования о том, какие дополнительные письменности и языки должны быть представлены, и к кому этот стандарт применим. [6] Однако этот стандарт не определяет официальные формы символов для китайских иероглифов; это стандартизировано в Списке общепринятых стандартных китайских иероглифов .

История

Набор символов GB18030 официально называется «Китайский национальный стандарт GB 18030-2005: Информационные технологии — китайский набор кодированных символов». GB — это сокращение от Guójiā Biāozhǔn (国家标准), что означает национальный стандарт на китайском языке. Стандарт был опубликован издательством China Standard Press в Пекине 8 ноября 2005 года. Только часть стандарта является обязательной. [6] С 1 мая 2006 года поддержка обязательного подмножества официально требуется для всех программных продуктов, продаваемых в КНР.

Различные сопоставления Unicode между версиями GB 18030

Последовательность байтов ГБ
Кодовая точка Unicode
ГБ 18030-2000ГБ 18030-2005
A8 BC (ḿ)U+E7C7U+1E3F ḿ ЛАТИНСКАЯ СТРОЧНАЯ БУКВА M С АКУТОМ
81 35 Ф4 37U+1E3F ḿ ЛАТИНСКАЯ СТРОЧНАЯ БУКВА M С АКУТОМU+E7C7

Более старая версия стандарта, известная как «Китайский национальный стандарт GB 18030-2000: Информационные технологии — Набор кодированных символов китайских идеограмм для обмена информацией — Расширение для базового набора», была опубликована 17 марта 2000 года. Схема кодирования в новой версии осталась прежней, и единственное отличие в сопоставлении GB-Unicode заключается в том, что GB 18030-2000 сопоставлял символ A8 BC(ḿ) с кодовой точкой частного использования U+E7C7, а символ 81 35 F4 37(без указания какого-либо глифа) — с U+1E3F (ḿ), тогда как GB 18030-2005 меняет местами эти два назначения сопоставления. [7] : 534  В связи с обновлением Unicode , особенно появлением расширения CJK Unified Ideographs Extension B, с символами теперь связано больше кодовых точек. Также были добавлены некоторые символы, используемые этническими меньшинствами Китая , такие как монгольские иероглифы и тибетские символы (GB 16959-1997 и GB/T 20542-2006), что объясняет переименование стандарта.

По сравнению с его предшественниками, отображение GB 18030 в Unicode было изменено для 81 символа, которым была временно назначена кодовая точка Unicode Private Use Area (U+E000–F8FF) в GBK 1.0 и которые позже были закодированы в Unicode. [8] Это указано в Приложении E к GB 18030. [7] : 534  [9] : 499  В GB 18030-2005 есть 24 символа, которые по-прежнему отображаются в Unicode PUA. [10]

В обновлении GB 18030-2022 требования к символам, которые должны быть сопоставлены с PUA, были полностью сняты, и все символы должны быть сопоставлены со своими стандартными кодовыми точками Unicode. Из них 18 сопоставлений были обновлены путем замены позиций, аналогично тому, что произошло между GBK и GB 18030. Остальные шесть сохранили двухбайтовые сопоставления PUA, поэтому для соответствия предпочтению non-PUA необходимо изменение на 4-байтовую последовательность. [11]

Символы частного использования в преобразованиях GB-Unicode

Последовательность байтов ГБ
Кодовая точка Unicode [a]
ГБК 1.0 [12] [7] : 534 ГБ 18030-2005 [10]Юникод 4.1ГБ 18030-2022 [11]
А6 Д9 [13] : 108 U+E78DU+FE10 ФОРМА ПРЕДСТАВЛЕНИЯ ВЕРТИКАЛЬНОЙ ЗАПЯТОЙ
А6 ДАU+E78EU+FE12 ФОРМА ПРЕДСТАВЛЕНИЯ ДЛЯ ВЕРТИКАЛЬНОЙ ИДЕОГРАФИЧЕСКОЙ ТОЧКИ
А6 ДБU+E78FU+FE11 ФОРМА ПРЕДСТАВЛЕНИЯ ВЕРТИКАЛЬНОЙ ИДЕОГРАФИЧЕСКОЙ ЗАПЯТОЙ
А6 DCU+E790U+FE13 ФОРМА ПРЕДСТАВЛЕНИЯ ДЛЯ ВЕРТИКАЛЬНОЙ ТОЛСТОЙ КИШКИ
А6 ДДU+E791U+FE14 ФОРМА ПРЕДСТАВЛЕНИЯ ВЕРТИКАЛЬНОЙ ТОЧКИ С ЗАПЯТОЙ
А6 ДЕU+E792U+FE15 ФОРМА ПРЕДСТАВЛЕНИЯ ВЕРТИКАЛЬНОГО ВОСКЛИЦАТЕЛЬНОГО ЗНАКА
А6 ДФU+E793U+FE16 ФОРМА ПРЕДСТАВЛЕНИЯ ВЕРТИКАЛЬНОГО ВОПРОСА
А6 ЕСU+E794U+FE17 ФОРМА ПРЕДСТАВЛЕНИЯ ДЛЯ ВЕРТИКАЛЬНОЙ ЛЕВОЙ БЕЛОЙ ДВУХСТОРОННЕЙ СКОБКИ
А6 ЭДU+E795U+FE18 ФОРМА ПРЕДСТАВЛЕНИЯ ДЛЯ ВЕРТИКАЛЬНОЙ ПРАВОЙ БЕЛОЙ ДВУХСТОРОННЕЙ СКОБКИ
А6 Ф3U+E796U+FE19 ФОРМА ПРЕДСТАВЛЕНИЯ ДЛЯ ВЕРТИКАЛЬНО-ГОРИЗОНТАЛЬНОГО ЭЛЛИПСИСА
А8 БКU+E7C7U+1E3F ḿ ЛАТИНСКАЯ СТРОЧНАЯ БУКВА M С АКУТОМ
А8 БФU+E7C8U+01F9 ǹ ЛАТИНСКАЯ СТРОЧНАЯ БУКВА N С ГРАВОЙ
А9 89U+E7E7U+303E ИДЕОГРАФИЧЕСКИЙ ИНДИКАТОР ВАРИАЦИИ
А9 8АU+E7E8U+2FF0 ИДЕОГРАФИЧЕСКОЕ ОПИСАНИЕ СИМВОЛА СЛЕВА НАПРАВО
А9 8БU+E7E9U+2FF1 ИДЕОГРАФИЧЕСКОЕ ОПИСАНИЕ СИМВОЛА СВЕРХУ ВНИЗ
А9 8СU+E7EAU+2FF2 ИДЕОГРАФИЧЕСКОЕ ОПИСАНИЕ СИМВОЛА СЛЕВА В ЦЕНТР И СПРАВА
А9 8ДU+E7EBU+2FF3 ИДЕОГРАФИЧЕСКОЕ ОПИСАНИЕ СИМВОЛА СВЕРХУ ДО СРЕДНЕГО И НИЖЕ
А9 8ЕU+E7ECU+2FF4 ИДЕОГРАФИЧЕСКОЕ ОПИСАНИЕ СИМВОЛА ПОЛНОЕ ОКРУЖЕНИЕ
А9 8ФU+E7EDU+2FF5 ИДЕОГРАФИЧЕСКОЕ ОПИСАНИЕ ПЕРСОНАЖА ОКРУЖЕНИЕ СВЕРХУ
А9 90U+E7EEU+2FF6 ИДЕОГРАФИЧЕСКОЕ ОПИСАНИЕ ПЕРСОНАЖА ОКРУЖЕНИЕ СНИЗУ
А9 91U+E7EFU+2FF7 ИДЕОГРАФИЧЕСКОЕ ОПИСАНИЕ ПЕРСОНАЖА ОКРУЖЕНИЕ СЛЕВА
А9 92U+E7F0U+2FF8 ИДЕОГРАФИЧЕСКОЕ ОПИСАНИЕ ОКРУЖЕНИЕ ПЕРСОНАЖА С ВЕРХНЕГО ЛЕВОГО УГЛА
А9 93U+E7F1U+2FF9 ИДЕОГРАФИЧЕСКОЕ ОПИСАНИЕ ОКРУЖЕНИЕ СИМВОЛА С ВЕРХНЕГО ПРАВОГО КРАЯ
А9 94 [13] : 173 U+E7F2U+2FFA ИДЕОГРАФИЧЕСКОЕ ОПИСАНИЕ ОКРУЖЕНИЕ СИМВОЛА С НИЖНЕГО ЛЕВОГО КРАЯ
А9 95U+E7F3U+2FFB ИДЕОГРАФИЧЕСКОЕ ОПИСАНИЕ СИМВОЛА НАЛОЖЕНО
ФЭ 50U+E815U+2E81 CJK РАДИКАЛЬНЫЙ КЛИФФ
ФЕ 51U+E816U+20087 𠂇 CJK ЕДИНАЯ ИДЕОГРАФИЯ-20087 [b]U+E816
ФЕ 52U+E817U+20089 𠂉 CJK ЕДИНАЯ ИДЕОГРАФИЯ-20089 [c]U+E817
ФЕ 53U+E818U+200CC 𠃌 CJK ЕДИНАЯ ИДЕОГРАФИЯ-200CC [d]U+E818
ФЕ 54U+E819U+2E84 CJK РАДИКАЛ ВТОРАЯ ТРИ
ФЕ 55U+E81AU+3473 CJK ЕДИНАЯ ИДЕОГРАФИЯ-3473
ФЕ 56U+E81BU+3447 CJK ЕДИНАЯ ИДЕОГРАФИЯ-3447
ФЕ 57U+E81CU+2E88 CJK РАДИКАЛЬНЫЙ НОЖ ОДИН
ФЕ 58U+E81DU+2E8B CJK РАДИКАЛЬНАЯ ПЕЧАТЬ
ФЕ 59U+E81EU+9FB4 CJK ЕДИНАЯ ИДЕОГРАФИЯ-9FB4
ФЭ 5АU+E81FU+359E CJK ЕДИНАЯ ИДЕОГРАФИЯ-359E
ФЭ 5БU+E820U+361A CJK ЕДИНАЯ ИДЕОГРАФИЯ-361A
ФЭ 5СU+E821U+360E CJK ЕДИНАЯ ИДЕОГРАФИЯ-360E
ФЭ 5ДU+E822U+2E8C CJK РАДИКАЛ МАЛЕНЬКИЙ
ФЭ 5ЕU+E823U+2E97 CJK РАДИКАЛЬНОЕ СЕРДЦЕ ДВА
ФЭ 5ФU+E824U+396E CJK ЕДИНАЯ ИДЕОГРАФИЯ-396E
ФЭ 60U+E825U+3918 CJK ЕДИНАЯ ИДЕОГРАФИЯ-3918
ФЕ 61U+E826U+9FB5 CJK ЕДИНАЯ ИДЕОГРАФИЯ-9FB5
ФЕ 62U+E827U+39CF CJK ЕДИНАЯ ИДЕОГРАФИЯ-39CF
ФЭ 63U+E828U+39DF CJK ЕДИНАЯ ИДЕОГРАФИЯ-39DF
ФЕ 64U+E829U + 3A73 CJK ЕДИНАЯ ИДЕОГРАФИЯ-3A73
ФЭ 65U+E82AU+39D0 CJK ЕДИНАЯ ИДЕОГРАФИЯ-39D0
ФЕ 66U+E82BU+9FB6 CJK ЕДИНАЯ ИДЕОГРАФИЯ-9FB6
ФЕ 67U+E82CU + 9FB7 CJK ЕДИНАЯ ИДЕОГРАФИЯ-9FB7
ФЕ 68U+E82DU+3B4E CJK ЕДИНАЯ ИДЕОГРАФИЯ-3B4E
ФЕ 69U+E82EU+3C6E CJK ЕДИНАЯ ИДЕОГРАФИЯ-3C6E
ФЭ 6АU+E82FU+3CE0 CJK ЕДИНАЯ ИДЕОГРАФИЯ-3CE0
ФЭ 6БU+E830U+2EA7 CJK РАДИКАЛЬНАЯ КОРОВА
ФЭ 6СU+E831U+215D7 𡗗 CJK ЕДИНАЯ ИДЕОГРАФИЯ-215D7 [e]U+E831
ФЭ 6ДU+E832U+9FB8 CJK ЕДИНАЯ ИДЕОГРАФИЯ-9FB8
ФЭ 6ЕU+E833U+2EAA CJK РАДИКАЛЬНЫЙ РОЛИК ТКАНИ
ФЭ 6ФU+E834U+4056 CJK ЕДИНАЯ ИДЕОГРАФИЯ-4056
ФЭ 70U+E835U+415F CJK ЕДИНАЯ ИДЕОГРАФИЯ-415F
ФЕ 71U+E836U+2EAE CJK РАДИКАЛЬНЫЙ БАМБУК
ФЭ 72U+E837U+4337 CJK ЕДИНАЯ ИДЕОГРАФИЯ-4337
ФЭ 73U+E838U+2EB3 CJK РАДИКАЛЬНАЯ СЕТЬ ТРИ
ФЭ 74U+E839U+2EB6 CJK РАДИКАЛЬНАЯ ОВЦА
ФЭ 75U+E83AU+2EB7 CJK РАДИКАЛ RAM
ФЕ 76U+E83BU+2298F 𢦏 CJK ЕДИНАЯ ИДЕОГРАФИЯ-2298F [f]U+E83B
ФЕ 77U+E83CU+43B1 CJK ЕДИНАЯ ИДЕОГРАФИЯ-43B1
ФЭ 78U+E83DU+43AC CJK ЕДИНАЯ ИДЕОГРАФИЯ-43AC
ФЕ 79U+E83EU+2EBB CJK РАДИКАЛЬНАЯ ЩЕТКА ДВА
ФЭ 7АU+E83FU+43DD CJK ЕДИНАЯ ИДЕОГРАФИЯ-43DD
ФЭ 7БU+E840U+44D6 CJK ЕДИНАЯ ИДЕОГРАФИЯ-44D6
ФЭ 7СU+E841U+4661 CJK ЕДИНАЯ ИДЕОГРАФИЯ-4661
ФЭ 7ДU+E842U+464C CJK ЕДИНАЯ ИДЕОГРАФИЯ-464C
ФЭ 7ЕU+E843U+9FB9 CJK ЕДИНАЯ ИДЕОГРАФИЯ-9FB9
ФЭ 80U+E844U+4723 CJK ЕДИНАЯ ИДЕОГРАФИЯ-4723
ФЕ 81U+E845U+4729 CJK ЕДИНАЯ ИДЕОГРАФИЯ-4729
ФЕ 82U+E846U+477C CJK ЕДИНАЯ ИДЕОГРАФИЯ-477C
ФЕ 83U+E847U+478D CJK ЕДИНАЯ ИДЕОГРАФИЯ-478D
ФЕ 84U+E848U+2ECA CJK РАДИКАЛЬНАЯ СТОПА
ФЕ 85U+E849U+4947 CJK ЕДИНАЯ ИДЕОГРАФИЯ-4947
ФЕ 86U+E84AU+497A CJK ЕДИНАЯ ИДЕОГРАФИЯ-497A
ФЕ 87U+E84BU+497D CJK ЕДИНАЯ ИДЕОГРАФИЯ-497D
ФЕ 88U+E84CU+4982 CJK ЕДИНАЯ ИДЕОГРАФИЯ-4982
ФЕ 89U+E84DU+4983 CJK ЕДИНАЯ ИДЕОГРАФИЯ-4983
ФЭ 8АU+E84EU+4985 CJK ЕДИНАЯ ИДЕОГРАФИЯ-4985
ФЭ 8БU+E84FU+4986 CJK ЕДИНАЯ ИДЕОГРАФИЯ-4986
ФЭ 8СU+E850U+499F CJK ЕДИНАЯ ИДЕОГРАФИЯ-499F
ФЭ 8ДU+E851U+499B CJK ЕДИНАЯ ИДЕОГРАФИЯ-499B
ФЕ 8ЕU+E852U + 49B7 CJK ЕДИНАЯ ИДЕОГРАФИЯ-49B7
ФЭ 8ФU+E853U+49B6 CJK ЕДИНАЯ ИДЕОГРАФИЯ-49B6
ФЭ 90U+E854U+9FBA CJK UNIFIED IDEOGRAPH-9FBA
ФЕ 91U+E855U+241FE 𤇾 ЕДИНАЯ ИДЕОГРАФИЯ CJK-241FE [g]U+E855
ФЕ 92U+E856U+4CA3 CJK ЕДИНАЯ ИДЕОГРАФИЯ-4CA3
ФЕ 93U+E857U+4C9F CJK ЕДИНАЯ ИДЕОГРАФИЯ-4C9F
ФЕ 94U+E858U+4CA0 CJK ЕДИНАЯ ИДЕОГРАФИЯ-4CA0
ФЭ 95U+E859U+4CA1 CJK ЕДИНАЯ ИДЕОГРАФИЯ-4CA1
ФЕ 96U+E85AU+4C77 CJK ЕДИНАЯ ИДЕОГРАФИЯ-4C77
ФЕ 97U+E85BU+4CA2 CJK ЕДИНАЯ ИДЕОГРАФИЯ-4CA2
ФЕ 98U+E85CU+4D13 CJK ЕДИНАЯ ИДЕОГРАФИЯ-4D13
ФЕ 99U+E85DU+4D14 CJK ЕДИНАЯ ИДЕОГРАФИЯ-4D14
ФЭ 9АU+E85EU+4D15 CJK ЕДИНАЯ ИДЕОГРАФИЯ-4D15
ФЕ 9БU+E85FU+4D16 CJK ЕДИНАЯ ИДЕОГРАФИЯ-4D16
ФЭ 9СU+E860U+4D17 CJK ЕДИНАЯ ИДЕОГРАФИЯ-4D17
ФЭ 9ДU+E861U+4D18 CJK ЕДИНАЯ ИДЕОГРАФИЯ-4D18
ФЕ 9ЕU+E862U+4D19 CJK ЕДИНАЯ ИДЕОГРАФИЯ-4D19
ФЭ 9ФU+E863U+4DAE CJK ЕДИНАЯ ИДЕОГРАФИЯ-4DAE
ФЭ А0U+E864U+9FBB CJK ЕДИНАЯ ИДЕОГРАФИЯ-9FBB
Примечания
а. ^ Синий цвет обозначает зону личного пользования.
б. ^ U+20087 𠂇 CJK UNIFIED IDEOGRAPH-20087 сопоставлено с GB 18030-2022 0x95329031
c. ^ U+20089 𠂉 CJK UNIFIED IDEOGRAPH-20089 сопоставлено с GB 18030-2022 0x95329033
д. ^ U + 200CC 𠃌 CJK UNIFIED IDEOGRAPH-200CC, сопоставленный с GB 18030-2022. 0x95329730
e. ^ U+215D7 𡗗 CJK UNIFIED IDEOGRAPH-215D7 сопоставлено с GB 18030-2022 0x9536B937
ф. ^ U + 2298F 𢦏 УНИФИЦИРОВАННАЯ ИДЕОГРАФИЯ CJK-2298F сопоставлена ​​с GB 18030-2022. 0x9630BA35
г. ^ U + 241FE 𤇾 CJK UNIFIED IDEOGRAPH-241FE, сопоставленный с GB 18030-2022. 0x9635B630

В качестве национального стандарта

Первая версия GB 18030, обозначенная как GB 18030-2000 Information Technology—Chinese coded character set for information interchange — Extension for the basic set , состоит из 1-байтовых и 2-байтовых кодировок вместе с 4-байтовой кодировкой для CJK Unified Ideographs Extension A, соответствующей таковым в Unicode 3.0. Соответствующие кодовые точки Unicode этого подмножества, включая временные частные назначения, полностью лежат в BMP . Эти части являются полностью обязательными в GB 18030-2000. [6] : 2  Большинство крупных компьютерных компаний уже стандартизировали некоторую версию Unicode в качестве основного формата для использования в своих двоичных форматах и ​​вызовах ОС. Однако в основном они поддерживали только кодовые точки в BMP, изначально определенном в Unicode 1.0, который поддерживал только 65 536 кодовых точек и часто кодировался в 16 бит как UCS-2 . Этот стандарт по сути представляет собой расширение на основе GBK с дополнительными символами в расширении A унифицированных идеографических символов CJK.

Вторая версия, обозначенная как GB 18030-2005 Information Technology — Chinese coded character set, имеет тот же обязательный поднабор, что и GB 18030-2000, из 1-, 2- и 4-байтовых кодировок. [7] : 3  Эта версия также включает полное расширение CJK Unified Ideographs Extension B в разделе 4-байтовой кодировки, которое находится за пределами BMP [10] в качестве требования поддержки предложений. [14] Однако, поскольку включение расширения CJK Unified Ideographs Extension B в 4-байтовую область требуется поддерживать во время обработки информации, программное обеспечение больше не может обходиться без обработки символов как 16-битных объектов фиксированной ширины ( UCS-2 ). Поэтому они должны либо обрабатывать данные как формат переменной ширины (как с UTF-8 или UTF-16 ), что является наиболее распространенным выбором, либо перейти на более крупный формат фиксированной ширины (например, UTF-32 ). Microsoft осуществила переход с UCS-2 на UTF-16 в Windows 2000. Эта версия соответствует Unicode 3.1, а также обеспечивает поддержку хангыля ( корейского ), монгольского (включая маньчжурский , четкий шрифт , сибе хэргэн , галик ), тайского нуэа , тибетского , уйгурского / казахского / киргизского и и .

Третья и последняя версия, GB 18030-2022 Information Technology—Chinese coded character set , предписывает часть поддержки предложений CJK Unified Ideographs Extension B в GB 18030-2005, а также обновления до Unicode 11.0, включая радикалы канси и CJK Unified Ideographs URO , Extension C, D, E и F. Дополнительные языки также признаются GB 18030-2022, такие как часть арабского , тайле , нового тайлуэ , тайтхам , лису и мяо . GB 18030-2022 также вводит три уровня реализации с требованием «все продукты, использующие этот стандарт, должны реализовывать уровень реализации 1», который включает 66 новых символов BMP в 4-байтовой области кодировки, которые были добавлены между Unicode 3.1 и Unicode 11.0. Уровень реализации 2 требует поддержки Списка общепринятых стандартных китайских иероглифов , а уровень реализации 3 требует всех остальных указанных в стандарте регионов. [11]

С конца 2022 по 2023 год проекты дополнительных поправок должны быть доступны для публичного обсуждения в GB 18030-2022. Текущий проект обновляет до Unicode 15.1 символы идеографического описания , унифицированные идеограммы CJK URO, расширения A, B, C, G, H и I. [15] [16] [17] Первоначально, в конце 2022 года, он должен был поместить 897 новых синографических символов в Плоскость 10 ( шестнадцатеричная : 0A), еще не названную астральную плоскость Unicode , для сертификации настоящих имен граждан в Китае, но в конечном итоге репертуар (сокращенный до 622 символов после экспертной оценки) был ускоренно включен в Unicode 15.1 в сентябре 2023 года в качестве блока расширения I унифицированных идеограмм CJK . [18] После этого проект поправки был изменен для использования кодовых точек расширения I. [17]

Картографирование

GB 18030 определяет однобайтовую (ASCII), двухбайтовую (расширенная GBK) или четырехбайтовую (UTF) кодировку. Двухбайтовые коды определяются в таблице поиска, тогда как четырехбайтовые коды определяются последовательно (следовательно, алгоритмически) для заполнения некодированных частей в UCS . GB 18030 наследует плохие аспекты GBK , в частности, необходимость специального кода для безопасного поиска символов ASCII в последовательности GB18030.

Кодировка GB 18030 [7] : 3  [9] : 252  [19]
ГБ 18030кодовые точки [c]Юникод
байт 1 (старший байт)байт 2байт 3байт 4
007F1280000007F
80недействительный [d]
81FE40FEкроме 7F[е]23 9400080FFFFкроме D800DFFF[ф]
8184303981FE303939 420
85— (12 600 )зарезервировано для будущего расширения персонажа
868F— (126 000 )зарезервировано для будущего идеографического расширения
неназначенныйD800DFFF[г]
90E3303981FE30391 048 5761000010FFFF
E4FC— (315 000 )зарезервировано для будущего стандартного расширения
FDFE— (25 200 )определяемый пользователем
FFневерный
Общий1 112 064

Одно- и двухбайтовые кодовые точки по сути являются GBK со знаком евро, отображениями PUA для неназначенных/определенных пользователем точек и вертикальными знаками препинания. Четырехбайтовую схему можно рассматривать как состоящую из двух единиц, каждая из двух байтов. Каждая единица имеет формат, аналогичный двухбайтовому символу GBK, но с диапазоном значений для второго байта 0x30–0x39 (коды ASCII для десятичных цифр). Первый байт имеет диапазон от 0x81 до 0xFE, как и раньше. Это означает, что процедура поиска строки, которая безопасна для GBK, также должна быть разумно [ требуется разъяснение ] безопасной для GB18030 (во многом так же, как базовая процедура поиска , ориентированная на байты , разумно безопасна для EUC ).

Это дает в общей сложности 1 587 600 (126 × 10 × 126 × 10) возможных 4-байтовых последовательностей, что вполне достаточно для покрытия 1 112 064 (17 × 65 536 − 2048 суррогатов) назначенных, зарезервированных и несимвольных кодовых точек Unicode .

К сожалению, чтобы еще больше усложнить ситуацию, нет простых правил для перевода между последовательностью из 4 байтов и соответствующей ей кодовой точкой . Вместо этого коды выделяются последовательно (первый байт содержит самую значимую часть, а последний — наименее значимую часть) только для кодовых точек Unicode, которые не отображаются каким-либо другим образом. [h] Например:

U+00DE (Þ) → 81 30 89 37U+00DF (ß) → 81 30 89 38U+00E0 (а) → А8 А4U+00E1 (б) → A8 A2U+00E2 (в) → 81 30 89 39U+00E3 (г) → 81 30 8A 30

Таблица смещений используется в версии GB 18030 WHATWG и W3C для эффективного перевода кодовых точек. [20] ICU [19] и glibc используют похожие определения диапазонов, чтобы избежать траты места на большие последовательные блоки.

Поддерживать

Кодирование

GB  18030 поддерживается в Windows с момента выпуска Windows 95 как кодовая страница 54936. [21] Windows 2000 и XP предлагают пакет поддержки GB18030. [22] База данных PostgreSQL с открытым исходным кодом поддерживает GB18030 посредством полной поддержки UTF-8, т. е. путем преобразования в UTF-8 и обратно. Аналогично Microsoft SQL Server поддерживает GB18030 путем преобразования в UTF-16 и обратно.

Более конкретно, поддержка кодировки GB18030 в Windows означает, что кодовая страница 54936 поддерживается MultiByteToWideCharи WideCharToMultiByte. Благодаря обратной совместимости сопоставления многие файлы в GB18030 могут быть фактически успешно открыты как устаревшая кодовая страница 936, то есть GBK, даже если кодовая страница 54936 не поддерживается. Однако это верно только в том случае, если рассматриваемый файл содержит только символы GBK. Загрузка завершится неудачей или приведет к повреждению результата, если файл содержит символы, которых нет в GBK (см. примеры в § Технические подробности).

GNU glibc gconv, библиотека кодеков символов, используемая в большинстве дистрибутивов Linux, поддерживает GB 18030-2000 с версии 2.2 [23] и GB 18030-2005 с версии 2.14; [24] glibc в частности включает не-PUA сопоставления для GB 18030-2005 для достижения преобразования в обе стороны. [25] GNU libiconv , альтернативная реализация iconv , часто используемая в не-glibc UNIX-подобных средах, таких как Cygwin , поддерживает GB 18030 с версии 1.4. [26]

По состоянию на 2022 год «поддержка некитайских письменностей остается необязательной» [27] (предположительно, только для поддержки отображения/шрифта; и в Китае, поскольку кодировка представляет собой полную UTF). Известно, что стандарт поддерживает английский/ASCII, и «следующие некитайские письменности признаются GB 18030-2022: арабский, тибетский, монгольский, тай-ле, новый тай-луэ, тай-тхам, и, лису, хангыль (корейский) и мяо». [27]

Шрифты

Пакет поддержки GB18030 для Windows содержит SimSun18030.ttc, файл коллекции шрифтов TrueType, который объединяет два китайских шрифта, SimSun-18030 и NSimSun-18030. Шрифт SimSun 18030 включает все символы [ необходимо разъяснение ] в Unicode 2.1, а также новые символы, найденные в блоке Unicode CJK Unified Ideographs Extension A, хотя, несмотря на свое название, он не содержит глифов для всех символов, закодированных GB 18030, поскольку все (около миллиона) кодовых точек Unicode до U+10FFFF могут быть закодированы как GB 18030. Сертификация соответствия GB 18030 требует только правильной обработки и распознавания глифов в обязательной (двухбайтовой и CJK Ext. A) китайской части. [6] : 4  Тем не менее, требование символов PUA в стандарте затруднило эту реализацию. [28]

Microsoft YaHei и DengXian, предоставленные Microsoft, обновлены в 2023 году для соответствия уровню реализации GB 18030-2022 2, а SimSun обновлен для соответствия уровню реализации 3. [29]

Source Han Sans (и его аналог Noto Sans CJK) уже соответствуют уровню реализации GB 18030-2022 2, когда стандартное обновление для GB 18030 будет объявлено в ноябре 2022 года [обновлять]. Однако Source Han Serif (и его аналог Noto Serif CJK) на данный момент не соответствует, и предоставляется обновление, гарантирующее соответствие шрифта уровню реализации 2. Аналогично Microsoft YaHei и PingFang (Apple) требуют небольшого количества дополнений URO, связанных с уровнем реализации 1, чтобы соответствовать уровню реализации GB 18030-2022 2. [27]

Другие семейства шрифтов CJK , такие как HAN NOM [30] и Hanazono Mincho [31], обеспечивают более широкий охват блоков расширения Unicode CJK, чем SimSun-18030 или даже SimSun (Founder Extended), но они не поддерживают все кодовые точки, определенные в GB 18030.

Смотрите также

Примечания

  1. ^ Обратите внимание, что в GB18030 отсутствуют суррогаты; см. #Mapping.
  2. ^ Знак евро является исключением, которому в более поздних версиях Microsoft CP936/GBK присвоен однобайтовый код 0x80, а в GB18030 — двухбайтовый код A2 E3.
  3. ^ Кодовые точки включают 66 несимволов Unicode.
  4. ^ ICU, похоже, ошибочно считает эту кодовую точку допустимой, чего нет ни в одной из версий опубликованных стандартов. WHATWG назначает этот байт U+20AC ( знак евро GBK ) в своем универсальном декодере gb2312-gbk-gb18030.
  5. ^ Для более точного разделения этого диапазона см. GBK (кодировка символов) § Кодировка .
  6. ^ Некоторые кодовые точки кодируются двумя байтами (верхний ряд), другие — четырьмя байтами (нижний ряд). U+FFFF кодируется, как 84 31 A4 39на странице 239 стандарта 2005 года, хотя стандарт дает сведения только 84 39 FE 39для отображения BMP.
  7. ^ Это суррогатные кодовые точки ; они не имеют значения за пределами кодировки UTF-16 .
  8. ^ Кроме того, из-за того, что кодировки U+E7C7 и U+1E3F были переставлены местами, U+E7C7 кодируется в издании стандарта 2005 года как 81 35 F4 37, между U+1E3E (81 35 F4 36) и U+1E40 (81 35 F4 38). Таким образом, только издание 2000 года является полностью последовательным в распределении четырехбайтовых кодов по иным неотображенным кодовым точкам.

Ссылки

  1. ^ Энтони Фок (2002-03-15). "Заявка на регистрацию набора символов IANA для GB18030". Регистрация наборов символов IANA . Получено 2016-12-05 .
  2. ^ "Разрушительные изменения в GB 18030-2022" (PDF) . www.unicode.org . Получено 2024-02-12 .
  3. ^ "[JDK-8301119] Поддержка GB18030-2022 - Java Bug System". bugs.openjdk.org . Получено 2023-08-14 .
  4. ^ "Заметки о выпуске JDK 21". jdk.java.net . Получено 2023-08-14 .
  5. ^ "[JDK-8307340] Примечание к выпуску: Поддержка GB18030-2022 - Java Bug System". bugs.openjdk.org . Получено 2023-08-30 .
  6. ^ abcd CESI (08 июля 2009 г.). «GB18030 符合性问与答» [Часто задаваемые вопросы о соответствии требованиям GB18030]. Сертификационный центр CESI . Архивировано из оригинала 28 сентября 2016 г. Проверено 12 октября 2016 г. Страница 4. Руководство по эксплуатации, англ.出、处理GB 18030-2005强制部分规定的全部汉字字符;②产品可以正确识别GB [Изделие, соответствующее обязательной части GB 18030, должно быть способно правильно а) вводить, выводить и обрабатывать все китайские символы, определенные в обязательном наборе; б) распознавать кодировки символов обязательного набора.]Альтернативный URL-адрес
  7. ^ abcde Администрация по стандартизации Китая (SAC) (18.11.2005). GB 18030-2005: Информационные технологии — набор китайских кодированных символов.
  8. ^ "Часто задаваемые вопросы о Unicode в GB 18030". Проект ICU . Получено 10 сентября 2016 г.
  9. ^ ab GB 18030-2000: Информационные технологии — Набор кодированных символов китайских идеограмм для обмена информацией — Расширение для базового набора. 2000-03-17. {{cite book}}: |work=проигнорировано ( помощь )
  10. ^ abc Лунде, Кен (2006). «Обновление L2 / 06-394 для GB 18030: 2005». Реестр документов Технического комитета Unicode . Проверено 28 сентября 2016 г.
  11. ↑ abc Лунде, Кен (4 августа 2022 г.). «Стандарт GB 18030-2022». Середина . Проверено 7 августа 2022 г.
  12. ^ "Группа: GBK外字" . ГлифВики . Проверено 11 сентября 2016 г.
  13. ^ Аб Лунде, Кен (декабрь 2008 г.). Обработка информации CJKV. O'Reilly Media, Inc. ISBN 978-0-596-51447-1. Получено 11 сентября 2016 г.
  14. ^ CESI (08 июля 2009 г.). «GB18030 符合性问与答» [Часто задаваемые вопросы о соответствии требованиям GB18030]. Сертификационный центр CESI . Архивировано из оригинала 28 сентября 2016 г. Проверено 12 октября 2016 г. Страница 4. Руководство по эксплуатации, англ.出、处理GB 18030-2005强制部分规定的全部汉字字符;②产品可以正确识别GB [Изделие, соответствующее обязательной части GB 18030, должно быть способно правильно а) вводить, выводить и обрабатывать все китайские символы, определенные в обязательном наборе; б) распознавать кодировки символов обязательного набора.]
  15. ^ Лунде, д-р Кен (12.11.2023). «Первая поправка». Medium . Получено 09.09.2024 .
  16. ^ Национальный орган Китая (26 апреля 2023 г.). «GB 18030–2022《信息技术 中文编码字符集》国家标准第1号修改单(征求意见稿)» (PDF) . UTC L2/23-113.
  17. ^ ab Китайский национальный орган (13 октября 2023 г.). «Отчет о деятельности IRG №61» (PDF) . ISO/IEC JTC1/SC2 /WG2/ IRG N2623; UTC L2/23-240.
  18. ^ Национальный орган США (1 мая 2023 г.). «Комментарии USNB по проекту 2 поправки 1 к GB 18030-2022 и рекомендации по поправке 2 к ISO/IEC 10646:2020» (PDF) . ISO/IEC JTC1/SC2 N4852, WG2 N5222; UTC L2/23-115.
  19. ^ ab Официальная таблица соответствия между GB18030-2000 и Unicode. ICU – Международные компоненты для Unicode. 2001-02-21. Доступ 2016-09-04.
  20. ^ "Стандарт кодирования # gb18030-index". WHATWG . Получено 24.09.2016 .
  21. ^ Бридж, Карл (13 октября 2021 г.). "Функция MultiByteToWideChar (stringapiset.h) - приложения Win32". learn.microsoft.com . Получено 01.11.2022 .
  22. ^ Microsoft. "GB18030 Support Package". Microsoft . Архивировано из оригинала 2012-06-05.
  23. ^ Дреппер, Ульрих. "GB18030 iconv module for glibc". glibc git . Получено 29 ноября 2016 г. .
  24. ^ Дреппер, Ульрих. "Обновление GB18030 до версии 2005". glibc git . Получено 29 ноября 2016 г. .
  25. ^ Веймер, Флориан; О'Донелл, Карлос. «Состояние таблиц GB18030 (#19575)». Исходное ПО Bugzilla . Проверено 29 ноября 2016 г.
  26. ^ "НОВОСТИ - libiconv.git - libiconv". git.savannah.gnu.org . Получено 13.10.2016 .
  27. ^ abc Лунде, Кен (16 августа 2022 г.). «Стандарт GB 18030-2022». Середина . Проверено 1 ноября 2022 г.
  28. ^ Lunde, Ken. "Если gb18030 будет пересмотрен, рассмотрите возможность согласования стандарта кодировки · Issue #27 · whatwg/encoding". GitHub . Кроме того, поддержка кодовых точек PUA в контексте шрифтов Noto CJK и Source Han — это полная неудача, в основном потому, что это шрифты Pan-CJK, а использование PUA в таких контекстах крайне опасно. [...] Один из моих друзей в CESI несколько дней назад поделился со мной текстом из финального черновика. Это подтвердило, что требование PUA для 24 символов снимается.
  29. ^ "11 июля 2023 г. — KB5028171 (сборка ОС 20348.1850) — служба поддержки Microsoft". support.microsoft.com . Microsoft . Получено 25 марта 2024 г. .
  30. ^ ВьетнамЮникод. "/ханном". sourceforge.net . Проверено 13 октября 2016 г.
  31. ^ "Hanazono fonts". fonts.jp . Архивировано из оригинала 2010-04-12 . Получено 2016-10-13 .
  • Регистрация набора символов IANA для GB18030
  • "Английское резюме – -2000" (PDF) . 16 февраля 2001 г. Архивировано из оригинала (PDF) 2017-02-02.
  • Введение в GB18030, включая эволюцию GB2312 и GBK (Архив Sun/Internet)
  • Данные отделения интенсивной терапии
    • GB18030: Мега-кодовая страница (IBM DeveloperWorks)
    • Официальная таблица соответствия между GB18030-2000 и Unicode
    • Проводник конвертера ICU: GB18030
  • Диаграммы Unicode
    • Расширение A унифицированных идеографических символов Unicode CJK (PDF, 1,5 МБ)
    • Расширение B унифицированных идеографических символов Unicode CJK (PDF, 13 МБ)
  • Пакет поддержки GB18030 для Windows 2000/XP, включающий китайский, тибетский, и, монгольский и тайский шрифты от Microsoft (Архив Интернета)
  • Бесплатные шрифты, редакторы и документация SIL
Взято с "https://en.wikipedia.org/w/index.php?title=GB_18030&oldid=1247444557"