Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

GBK является продолжением GB2312 набора символов для символов Упрощенный китайский , используемый в Народной Республике Китай . Он включает все унифицированные символы CJK, найденные в GB13000.1-93, то есть ISO / IEC 10646: 1993 или Unicode 1.1. С момента своего первого выпуска в 1993 году GBK был расширен Microsoft в кодовой странице 936/1386 , которая затем была расширена до GBK 1.0 . GBK также является зарегистрированным IANA интернет-именем для сопоставления Microsoft [1], которое отличается от других реализаций главным образом однобайтовым знаком евро в 0x80.

GB сокращает Guojia Biaozhun , что означает национальный стандарт на китайском языке, а K означает расширение (扩展kuòzhǎn ). GBK не только расширили старый стандарт GB2312 с символами традиционной китайской, но и с китайскими иероглифами , которые были упрощены после создания GB2312 в 1981 г. С приходом GBK, некоторые имена с символами ранее непредставимо, подобно镕( Rong ) характер в имя бывшего китайского премьер-министра Чжу Жунцзи , теперь можно представить. [2]

По состоянию на июнь 2020 года GBK является второй по популярности китайской кодировкой (после подмножества GB2312): 3,6% веб-страниц обслуживаются из Китая и территорий, заявивших об этом, [3] или 0,2% всех веб-страниц в мире, [4] то есть когда они помечены как таковые, но все основные веб-браузеры декодируют документы, помеченные, например, как « GB 2312 » или « GB2312 », как если бы они были помечены как «gbk» (хотя не все делают это для страниц с пометкой «GB_2312»), [5] а GBK и подмножество, кодирующее GB 2312, имеют совокупную долю в 16,7% (или 0,6% в мире).

История [ править ]

В 1993 году был выпущен стандарт Unicode 1.1, включающий 20 902 символа, используемых в материковом Китае , Тайване , Японии и Корее . После этого Китай выпустил GB13000.1-93, стандартный эквивалент Unicode 1.1 для Guobiao .

GBK набор символов был определен в 1993 году как продолжение GB2312 -80, а также в том числе символы GB13000.1-93 через неиспользуемые в доступных кодовых GB2312. Следовательно, GBK обратно совместим с GB2312.

Microsoft реализовала GBK в Windows 95 и Windows NT 3.51 в качестве кодовой страницы 936 . Хотя GBK никогда не был официальным стандартом, широкое использование Windows 95 привело к тому, что GBK стал стандартом де-факто . Хотя GBK включал все китайские символы, определенные в Unicode 1.1 и GB13000.1-93, в этих стандартах использовались разные кодовые таблицы. Основная причина его существования заключалась в том, чтобы просто преодолеть разрыв между GB2312-80 и GB13000.1-93.

В 1995 году Национальный технический комитет по стандартизации информационных технологий Китая разработал спецификацию расширения внутреннего кода Китая ( китайский :汉字 内 码 扩展 规范 (GBK) ; пиньинь : Hànzì Nèimǎ Kuòzhǎn Guīfàn (GBK) ), версия 1.0, известная как GBK 1.0 , которая является небольшим расширением кодовой страницы 936. Вновь добавленные 95 символов не были обнаружены в GB 13000.1-1993, и им были временно присвоены кодовые точки Unicode PUA . [6] : 534

Позже Microsoft добавила знак евро на кодовую страницу 936 и присвоила ему код 0x80. Это недопустимый код в GBK 1.0.

В 2000 году был выпущен стандарт GB18030-2000 , который заменил, но сохранил совместимость с GBK 1.0. Это увеличило количество определений китайских символов и расширило количество возможных символов за счет реализации четырехбайтовых пространств символов. Подмножество GB 18030, состоящее из однобайтовых и двухбайтовых символов, иногда также называют GBK . Однако отображение в Unicode было немного изменено, поскольку некоторые символы теперь определены в Unicode. В самой последней форме стандарта, GB 18030-2005, только 24 [7] символа все еще отображаются в Unicode PUA (см. GB 18030 # PUA .)

В 2002 году GBK был зарегистрирован как кодировка IANA; регистрация использует отображение кодовой страницы 936, а также псевдонимы CP936 / MS936, но ссылается на спецификацию GBK 1.0. [1] Техническая рекомендация W3C, опубликованная в 2015 году [8], определяет кодировщик GBK как кодировщик GB 18030 с однобайтовым знаком евро и без четырехбайтовых последовательностей (в то время как спецификация декодера GBK W3C не имеет такого ограничения, декодируется как GB 18030 , т. Е. с тем же диапазоном букв, что и весь Юникод ).

Кодировка [ править ]

Символ кодируется 1 или 2 байтами. Байт в диапазоне 00- 7Fэто один байт, который означает то же, что и в ASCII . Строго говоря, в этом диапазоне 95 символов и 33 управляющих кода.

Байт с установленным старшим битом указывает, что это первый из 2 байтов. Грубо говоря, первый байт находится в диапазоне 81- FE(то есть никогда 80или FF), а второй байт 40- A0за исключением 7Fнекоторых областей и A1- FEдля других.

Более конкретно, определены следующие диапазоны байтов:

Схема расположения [ править ]

В графической форме на следующем рисунке показано пространство для всех возможных 2-байтовых кодов размером 64 КБ. Зеленая и желтая области назначены кодовым точкам GBK, красные - для определяемых пользователем символов. Неокрашенные области являются недопустимыми комбинациями байтов.

Связь с другими кодировками [ править ]

Области, обозначенные в предыдущем разделе как GBK / 1 и GBK / 2, взятые сами по себе, представляют собой просто GB2312-80 в его обычной кодировке, GBK / 1 - это область без ханзи, а GBK / 2 - область ханзи. GB2312, или, точнее, его кодировка EUC-CN, берет пару байтов из диапазона A1- FE, как любой набор символов 94² ISO-2022, загруженный в GR. Это соответствует нижней правой четверти рисунка выше. Однако GB2312 не назначает никаких кодовых точек строкам, расположенным в AA- B0и F8- FE, даже если он разбил территорию. GBK добавил расширения к этим строкам. Вы можете видеть, что два пробела были заполнены пользовательскими областями.

Что еще более важно, GBK расширил диапазон байтов. Наличие двухбайтовых символов в диапазоне ISO-2022 GR дает предел 94² = 8 836 возможностей. Отказавшись от модели строгих областей ISO-2022 для графических и управляющих символов, но сохранив свойство младших байтов быть 1-байтовыми символами и пар старших байтов, обозначающих символ, вы потенциально можете иметь 128² = 16 384 позиции. GBK принимает на себя часть этого, расширяя диапазон от A1- FE(94 варианта для каждого байта) до 81- FE(126 вариантов) для первого байта и 40- FE(191 вариант) для второго байта, в общей сложности 24 066 позиций.

Кодовая страница Microsoft 936 обычно считается GBK. [1] Однако 95 символов PUA, добавленные в GBK 1.0, не включены в кодовую страницу 936. Кодовая страница 936 также имеет однобайтовый знак евро в 0x80, которого нет в GBK 1.0. [9]

Преемник GBK , GB18030-2000 , использует оставшийся диапазон, доступный для второго байта ( 30- 39), для дальнейшего расширения числа возможностей, сохраняя GBK как подмножество.

Ссылки [ править ]

  1. ^ a b c «Наборы символов» . Проверено 3 октября +2016 .
  2. ^ "Кодовая страница 936 - PRC GBK (XGB)" . Архивировано из оригинала на 2002-10-01.Карта преобразования между кодовой страницей 936 и Unicode. Для правильного просмотра необходимо вручную выбрать GB18030 или GBK в браузере.
  3. ^ «Распределение кодировок символов среди веб-сайтов, использующих Китай и территории» . w3techs.com . Проверено 1 июня 2020 .
  4. ^ «Исторические тенденции использования кодировок символов, июнь 2020 г.» . w3techs.com . Проверено 1 июня 2020 .
  5. ^ «Кодирование: Обобщенные результаты испытаний» . www.w3.org . Проверено 15 ноября 2019 .
  6. ^ a b c Управление стандартизации Китая (SAC) (2005-11-18). GB 18030-2005: Информационные технологии - набор символов китайского кодирования .
  7. ^ GB 18030-2005 Стандарт стр.9, 79
  8. ^ "Стандарт кодирования # gbk-encoder" . W3C . Проверено 2 октября 2016 .
  9. Шерер, Маркус (4 января 2002 г.). «Re: Развлечения с GBK и GB2312» . Архив почтового списка Unicode . Дата обращения 4 марта 2020 .

Заметки [ править ]

Внешние ссылки [ править ]

  • Авторитетное сопоставление GBK ICU - часть данных GB18030
  • Справочная страница Microsoft для GBK
  • Сопоставление GBK с Unicode NB: это кодовая страница Microsoft 936, которая содержит записи для 21791 двухбайтовой кодовой точки, 96 однобайтовых графических символов и 33 управляющих символа. Это не совсем то же самое, что GBK, который состоит из 21886 символов.
  • Таблица кодов GBK NB На этой странице с кодировкой GBK показано доступное пространство кодирования, полностью заполненное, за исключением двух мест, всего 32256 символов (32352 с подразумеваемыми однобайтовыми кодами ASCII, которые не показаны), что больше, чем 23940 или 21886. Фактическое значение отображение этой таблицы зависит от декодера GBK вашего браузера.