ГБК (кодировка символов)
Эта статья нуждается в дополнительных цитатах для проверки . ( октябрь 2016 г. ) |
![]() Схема ГБК ( см. ниже ) увеличенную копию этой схемы | |
МИМ / IANA | ГБК |
---|---|
Псевдоним(а) | CP936 , MS936, Windows-936, csGBK |
Язык(и) | Веб-браузеры декодируют как GB 18030 , поддерживают все языки, при этом кодировка (и другие программные декодеры) в основном используется для упрощенного китайского , но также поддерживает традиционный китайский , японский , английский , русский и (частично) греческий . |
Стандартный | ГБК 1.0 |
Классификация | Расширенный ASCII , [а] кодировка переменной ширины , кодировка CJK |
Расширяет | EUC-CN |
Предшественник | ГБ 2312 |
Преемник | ГБ 18030 |
| |
GBK — это расширение GB 2312 набора символов для символов упрощенного китайского языка , используемого в Китайской Народной Республике . Он включает в себя все унифицированные символы CJK , найденные в GB 13000.1-93 , т. е. ISO/IEC 10646:1993 или Unicode 1.1. С момента своего первого выпуска в 1993 году GBK был расширен Microsoft с помощью кодовой страницы 936/1386 , которая затем была расширена до GBK 1.0 . GBK также является зарегистрированным в IANA интернет-именем для сопоставления Microsoft. [1] который отличается от других реализаций прежде всего однобайтовым знаком евро по адресу 0x80.
GB сокращает Guójiā Biāozhgun , что на китайском языке означает национальный стандарт , а K означает расширение (扩展 kuòzhǎn ). GBK не только расширил старый стандарт GB 2312 традиционными китайскими иероглифами, но также китайскими иероглифами, которые были упрощены после создания GB 2312 в 1981 году. С появлением GBK некоторые имена с иероглифами, ранее непредставимыми, например 镕 ( róng ), иероглиф в имени бывшего премьер-министра Китая Чжу Жунцзи теперь представим. [2]
По состоянию на октябрь 2022 г. [update]GBK — третья по популярности кодировка, обслуживаемая в Китае и других регионах (после UTF-8 и подмножества GB 2312 ), при этом 1,9% веб-серверов обслуживают страницы, объявляющие GBK. [3] Однако все основные веб-браузеры декодируют документы с пометкой GB2312, как если бы они были помечены GBK, за исключением Safari и Edge на этикетке. GB_2312
. [4] В совокупности кодировки GBK и GB 2312 занимают 5,5% присутствия в Китае и других территориях. [3] Во всем мире на GBK приходится менее 0,07% всех веб-страниц, а на GBK+GB2312 — 0,2%. [5]
История [ править ]
В 1993 году был выпущен стандарт Unicode 1.1, включавший 20 902 символа, используемых в материковом Китае , Тайване , Японии и Корее . Вслед за этим Китай выпустил GB 13000.1-93 , Гобяо стандартный эквивалент Unicode 1.1 .
Набор символов GBK был определен в 1993 году как расширение GB 2312-80 , а также включал символы GB 13000.1-93 через неиспользуемые кодовые точки, доступные в GB 2312. Следовательно, GBK обратно совместим с GB 2312. GBK был определен в нормативное приложение к GB 13000.1-93. [6]
Microsoft реализовала GBK в Windows 95 и Windows NT 3.51 как кодовую страницу 936 . Хотя GBK никогда не был официальным стандартом, широкое распространение Windows 95 привело к тому, что GBK стал стандартом де-факто . Хотя GBK включал все китайские символы, определенные в Unicode 1.1 и GB 13000.1-93, в этих стандартах использовались разные кодовые таблицы. Основной причиной его существования было просто преодоление разрыва между GB 2312-80 и GB 13000.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 . кодовые точки [7] : 534
Позже Microsoft добавила знак евро на кодовую страницу 936 и присвоила ему код 0x80. Это недопустимый код в GBK 1.0.
В 2000 году был выпущен стандарт GB 18030-2000 , заменивший, но сохранивший совместимость с GBK 1.0. Он увеличил количество определений китайских иероглифов и расширил количество возможных символов за счет реализации четырехбайтовых пространств символов. Подмножество GB 18030, состоящее из однобайтовых и двухбайтовых символов, иногда также называют GBK . Однако сопоставление с Unicode было немного изменено, поскольку некоторые символы теперь определены в Unicode. В самой последней версии стандарта GB 18030-2005 всего 24. [8] символы по-прежнему отображаются в Unicode PUA (см. GB 18030#PUA .)
В 2002 году GBK был зарегистрирован как кодировка IANA; при регистрации используется отображение кодовой страницы 936, а также псевдонимы CP936/MS936, но относится к спецификации GBK 1.0. [1] . Технические рекомендации W3C, опубликованные в 2015 году [9] определяет GBK кодировщик как кодер GB 18030 с однобайтовым знаком евро и без четырехбайтовых последовательностей (хотя GBK спецификация декодера W3C не имеет такого ограничения, декодирует как GB 18030 , т.е. с тем же диапазоном букв, что и весь Unicode ).
Кодировка [ править ]
Символ кодируется как 1 или 2 байта. Байт в диапазоне 00
– 7F
это один байт, который означает то же самое, что и в ASCII . Строго говоря, в этом диапазоне 95 символов и 33 управляющих кода.
Байт с установленным старшим битом указывает, что он является первым из двух байтов. Грубо говоря, первый байт находится в диапазоне 81
– FE
(то есть никогда 80
или FF
), а второй байт 40
– A0
кроме 7F
для некоторых областей и A1
– FE
для других.
Более конкретно, определены следующие диапазоны байтов:
диапазон | байт 1 | байт 2 | кодовые точки | персонажи | |||
---|---|---|---|---|---|---|---|
ГБ 18030 | ГБК 1.0 | Кодовая страница 936 | ГБ 2312 | ||||
Уровень ГБК/1 | A1 – A9 | A1 – FE | 846 | 718 [7] : 8–10 | 717 | 715 | 682 |
Уровень ГБК/2 | B0 – F7 | A1 – FE | 6,768 | 6,763 | 6,763 | 6,763 | |
Уровень ГБК/3 | 81 – A0 | 40 – FE кроме 7F | 6,080 | 6,080 | 6,080 | ||
Уровень ГБК/4 | AA – FE | 40 – A0 кроме 7F | 8,160 | 8,160 | 8,080 | ||
Уровень ГБК/5 | A8 – A9 | 40 – A0 кроме 7F | 192 | 166 | 153 | ||
определяемый пользователем 1 [7] | AA – AF | A1 – FE | 564 | ||||
определяемый пользователем 2 | F8 – FE | A1 – FE | 658 | ||||
определяемый пользователем 3 | A1 – A7 | 40 – A0 кроме 7F | 672 | ||||
общий: | 23,940 | 21,887 | 21,886 | 21,791 | 7,445 |
Схема расположения [ править ]
На следующем рисунке в графической форме показано пространство всех возможных 2-байтовых кодов размером 64 КБ. Зеленым и желтым областям присвоены коды GBK, красным — определяемые пользователем символы. Неокрашенные области представляют собой недопустимые комбинации байтов.
Связь с другими кодировками [ править ]
Области, обозначенные в предыдущем разделе как GBK/1 и GBK/2, взятые сами по себе, представляют собой просто GB 2312-80 в его обычной кодировке, причем GBK/1 представляет собой регион, не являющийся ханзи, а GBK/2 - регион ханзи. GB 2312 или, точнее, его кодировка EUC-CN, берет пару байтов из диапазона A1
– FE
, как и любой набор символов 94² ISO-2022, загруженный в GR. Это соответствует нижней правой четверти рисунка выше. Однако GB 2312 не присваивает никаких кодовых точек строкам, расположенным в AA
– B0
и F8
– FE
, хотя он и застолбил территорию. GBK добавил расширения к этим строкам. Вы можете видеть, что два пробела были заполнены определяемыми пользователем областями.
Что еще более важно, GBK расширил диапазон байтов. Наличие двухбайтовых символов в диапазоне ISO-2022 GR дает ограничение в 94²=8836 возможностей. Отказавшись от модели 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. [10]
Преемник GBK, GB 18030-2000 , использует оставшийся диапазон, доступный для второго байта ( 30
– 39
), чтобы еще больше расширить количество возможностей, сохранив GBK в качестве подмножества.
Ссылки [ править ]
- ↑ Перейти обратно: Перейти обратно: а б с «Наборы символов» . Проверено 3 октября 2016 г.
- ^ «Кодовая страница 936 — КНР ГБК (XGB)» . Майкрософт . Архивировано из оригинала 1 октября 2002 г. Карта преобразования между кодовой страницей 936 и Unicode. Для правильного просмотра необходимо вручную выбрать GB 18030 или GBK в браузере.
- ↑ Перейти обратно: Перейти обратно: а б «Распространение кодировок символов между веб-сайтами, использующими Китай и территории» . w3techs.com . Проверено 25 октября 2022 г.
- ^ «Кодирование: Обобщенные результаты испытаний» . www.w3.org . Проверено 15 ноября 2019 г.
- ^ «Исторические тенденции статистики использования кодировок символов для веб-сайтов, октябрь 2022 г.» . w3techs.com . Проверено 25 октября 2022 г.
- ^ «18.2: Символы идеографического описания» (PDF) . Стандарт Юникод . Версия 15.0.0. 2022. с. 763.
Символы идеографического описания встречаются в GBK — расширении GB 2312-80, в которое добавлены все 20 902 иероглифов Unicode версии 1.1, которых еще нет в GB 2312-80. GBK определяется как нормативное приложение GB 13000.1-93.
- ↑ Перейти обратно: Перейти обратно: а б с Управление стандартизации Китая (SAC) (18 ноября 2005 г.). GB 18030-2005: Информационные технологии — набор китайских кодированных символов .
- ^ Стандарт GB 18030-2005, стр. 9, 79.
- ^ «Стандарт кодирования # gbk-encoder» . W3C . Проверено 2 октября 2016 г.
- ^ Шерер, Маркус (4 января 2002 г.). «Re: Развлечение с GBK и GB2312» . Архив списка рассылки Unicode . Проверено 4 марта 2020 г.
Примечания [ править ]
Внешние ссылки [ править ]
- Авторитетное картографирование GBK ICU - часть данных GB18030. Архивировано 31 октября 2016 г. на Wayback Machine.
- Справочная страница Microsoft для GBK
- Сопоставление GBK с Unicode NB: это кодовая страница Microsoft 936, которая содержит записи для 21791 двухбайтовой кодовой точки, 96 однобайтовых графических символов и 33 управляющих символов. Это не совсем то же самое, что GBK, который имеет 21886 символов.
- Таблица кодов GBK NB. На этой странице, закодированной в формате gbk, показано доступное кодовое пространство, полностью заполненное, за исключением двух мест, всего 32 256 символов (32 352 с подразумеваемыми однобайтовыми кодами ASCII, которые не показаны), что превышает 23 940 или 21 886. Фактическое значение отображение этой таблицы зависит от декодера GBK вашего браузера.