stringtranslate.com

ГБ 2312

GB/T 2312-1980 — ключевой официальный набор символов Китайской Народной Республики , используемый для символов упрощенного китайского языка . GB2312 — это зарегистрированное интернет-имя EUC-CN , которое представляет собой его обычную закодированную форму. GB относится к стандартам Гобяо (国家标准), тогда как суффикс T (推荐; tuījiàn ; «рекомендация») обозначает необязательный стандарт. [1]

GB/T 2312-1980 изначально был обязательным национальным стандартом, получившим обозначение GB 2312-1980 . Однако после выхода Национального стандартного бюллетеня Китайской Народной Республики в 2017 году GB 2312 больше не является обязательным, а его стандартный код изменен на GB/T 2312-1980 . [2] GB/T 2312-1980 был заменен GBK и GB 18030 , которые включают дополнительные символы, но GB/T 2312 по-прежнему широко используется как подмножество этих кодировок.

По состоянию на сентябрь 2022 года GB2312 является второй по популярности кодировкой, обслуживаемой в Китае и других регионах (после UTF-8 ), при этом 5,5% веб-серверов обслуживают страницы, объявляющие ее. [3] Во всем мире GB2312 заявлен на 0,1% всех веб-страниц. [4] Однако все основные веб-браузеры декодируют документы с пометкой GB2312, как если бы они были помечены расширенной кодировкой GBK, за исключением Safari и Edge на этикетке GB_2312. [5]

Существует аналогичный набор символов, известный как GB/T 12345 Код китайского набора иероглифов для дополнительного набора обмена информацией , который дополняет GB/T 2312 традиционными формами символов путем замены упрощенных форм в их коде qūwèi и некоторых дополнительных 62 дополнительных символов. [6] [7] Шрифты в кодировке GB часто бывают парами: один с набором символов GB/T 2312 (упрощенный), а другой с набором символов GB/T 12345 (традиционный). Существует больше наборов дополнительных кодировок GB, дополняющих GB/T 2312, в том числе GB/T 7589 Код китайских иеограмм, набор для обмена информацией — 2-й дополнительный набор и GB/T 7590 Код китайских иеограмм, набор для обмена информацией — 4-й дополнительный набор. который предоставляет дополнительные [варианты китайских символов | варианты символов] в том же формате кодировки qūwèi (позже использованном в ISO-2022-CN), но не имеет никакого отношения к символам, закодированным в GB/T 2312.

Диапазон символов в строках

Хотя GB/T 2312 охватывает более 99,99% использования современных китайских текстов, [8] исторические тексты и многие имена остаются за пределами рассмотрения. Старый стандарт GB 2312 включает 6763 китайских иероглифа (на двух уровнях: первый упорядочен по чтению, второй по радикалу , а затем по количеству штрихов), а также символы и знаки препинания, японскую кану , греческий и кириллический алфавиты , чжуинь и двойной символ. -байтовый набор букв пиньинь со знаками тона. В более поздней версии GB/T 2312-1980 имеется 7445 букв.

Символы в GB/T 2312 расположены в сетке 94×94 (как в ISO 2022 ), а двухбайтовая кодовая точка каждого символа выражается в форме qūwèi (区位), которая определяет строку (; ). и положение символа в строке (ячейка;; wèi ). (Эта структура такая же, как и в других национальных стандартах набора символов CJK , основанных на ISO-2022 ; сравните kuten .) Например, символ «外» (означающий: иностранный) расположен в строке 45, позиции 66, [9] таким образом его код кувэй — 45–66.

Строки (с номерами от 1 до 94) содержат следующие символы:

Строки 10–15 и 88–94 не назначены.

Для GB/T 2312-1980 он содержит 682 знака и 6763 китайских иероглифа.

Кодировки GB/T 2312

EUC-CN

EUC-CN часто используется в качестве кодировки символов (т. е. для внешнего хранилища) в программах, работающих с GB/T 2312, что обеспечивает совместимость с ASCII . Два байта используются для представления каждого символа, не найденного в ASCII . Значение первого байта находится в диапазоне 0xA1–0xF7(161–247), а значение второго байта — в диапазоне 0xA1–0xFE(161–254). Поскольку все эти диапазоны выходят за рамки ASCII, например UTF-8, при использовании EUC-CN можно проверить, является ли байт частью многобайтовой конструкции, но не является ли байт первым или последним.

По сравнению с UTF-8 , GB/T 2312 (как собственный, так и закодированный в EUC-CN) более эффективен для хранения: в то время как UTF-8 использует три байта [a] на каждый иероглиф CJK , GB/T 2312 использует только два. Однако GB/T 2312 не охватывает столько иероглифов, как Unicode.

Чтобы сопоставить кодовые точки qūwèi с байтами EUC, добавьте 160 ( 0xA0) к номеру строки (или qū, 区) и номеру ячейки/столбца ( десять или wèi, 位). Результат сложения с номером строки кодовой точки сформирует старший байт, а результат сложения с номером ячейки кодовой точки сформирует младший байт.

Например, чтобы закодировать символ «外» в ячейке qūwèi 45–66, старший байт будет использовать номер строки 45: 45+160=205= 0xCD, а младший байт будет взят из ячейки 66: 66+160= 226= 0xE2. Итак, полная кодировка <CD E2>. [10] [11]

ИСО-2022-CN

ISO-2022-CN — это еще одна форма кодировки GB/T 2312, которая также является кодировкой, указанной в официальной документации. Эта кодировка ссылается на стандарт ISO-2022 , который также использует два байта для кодирования символов, отсутствующих в ASCII. Однако вместо использования расширенной области ASCII в ISO-2022 используется тот же диапазон байтов, что и в ASCII: значение первого байта находится в диапазоне 0x21–0x77(33–119), а значение второго байта — в диапазоне 0x21–0x7E(33–126). . Поскольку диапазон байтов значительно перекрывает ASCII, необходимы специальные символы, чтобы указать, находится ли символ в диапазоне ASCII или является частью двухбайтовой последовательности расширенной области, а именно функции Shift Out и Shift In . Это создает риск неправильного кодирования, поскольку неправильная обработка текста может привести к потере информации.

Чтобы сопоставить кодовые точки qūwèi с байтами ISO-2022, добавьте 32 ( 0x20) к номеру строки (или qū, 区) и номеру ячейки/столбца (или wèi, 位). Результат добавления к номеру строки кодовой точки сформирует старший байт, а результат добавления к номеру ячейки кодовой точки сформирует младший байт, аналогично кодированию EUC.

Например, чтобы закодировать символ «外» в ячейке qūwèi 45–66, старший байт будет использовать номер строки 45: 45+32=77= 0x4D, а младший байт будет взят из ячейки 66: 66+32= 98= 0x62. Итак, полная кодировка <4D 62>. [11]

ХЗ

HZ — это еще одна кодировка GB/T 2312, которая используется в основном для публикаций в Usenet ; символы представлены теми же парами байтов, что и в ISO-2022-CN, но последовательности байтов, обозначающие начало и конец диапазона текста GB 2312, различаются.

Таблицы кодов

В таблицах ниже, где для префиксного байта или кодирующего байта указана пара шестнадцатеричных чисел, при кодировании через GL ( 0x 21-0x7E) используется меньшее (с неустановленным или недоступным восьмым битом), как в ISO- 2022-CN или HZ-GB-2312 , а больший (с установленным восьмым битом) используется в более типичном случае его кодирования через GR (0xA1-0xFE), как в EUC-CN , GBK или GB 18030 . Числа Цювэй даны в десятичном формате.

Когда GB/T 2312 кодируется через GR, в обоих байтах установлен восьмой бит (т. е. они больше 0x7F). GBK и GB 18030 также используют двухбайтовые коды, в которых только первый байт имеет восьмой бит, установленный для целей расширения: такие коды находятся за пределами плоскости GB/T 2312 и здесь не приводятся в таблице.

Ведущий байт

На этой диаграмме подробно описана общая компоновка основной плоскости набора символов GB/T 2312 по ведущим байтам. Для ведущих байтов, используемых для символов, отличных от hanzi , предоставляются ссылки на таблицы на этой странице, в которых перечислены символы, закодированные под этим ведущим байтом. Для ведущих байтов, используемых для ханзи, предоставляются ссылки на соответствующий раздел индекса ханзи Викисловаря .

Строки, не относящиеся к Ханзи

В следующих таблицах перечислены символы, не относящиеся к ханзи , доступные в GB/T 2312, GB/T 12345 и в двухбайтовой области 1 GB 18030 (что примерно соответствует области не-ханзи в GB/T 2312). Делаются примечания там, где они отличаются, а также где GB 6345.1 и ISO-IR-165 отличаются от них. Для сравнения сделаны перекрестные ссылки на статьи о других наборах национальных символов CJK.

Две реализации GB2312

Сопоставления Unicode интерпункта ( китайский :间隔; букв. «точка-разделитель») и длинного тире ( китайский :破折号) в подмножестве GBK и GB 18030 , соответствующем GB/T 2312 ( U+00B7 · MIDDLE DOT и U+ 2014EM DASH ) отличаются от тех, которые перечислены в GB2312.TXT ( U+30FBKATAKANA MIDDLE DOT и U+2015HORIZONTAL BAR ), который представляет собой файл данных, ранее предоставленный Консорциумом Unicode , [13] хотя он был признан устаревшим с августа 2011 года [14] и больше не размещается по состоянию на сентябрь 2016 года.

По состоянию на 2015 год Microsoft .Net Framework следует сопоставлениям GB 18030 при сопоставлении этих двух символов в данных с меткой gb2312, тогда как ICU , [15] iconv-1.14, [16] php-5.6, ActivePerl-5.20, Java 1.7 и Python 3.4 [17] следуйте GB2312.TXT в ответ на gb2312метку. Ruby 2.2 совместим с обеими реализациями; он внутренне преобразует конфликтующие символы в подмножество GB 18030. Техническая рекомендация W3C / WHATWG для использования с HTML5 определяет кодировку GBK, которая должна быть выведена для потоков с меткой , которая, в свою очередь, использует декодер GB18030. [18]gb2312

Другие различные сопоставления были определены и использованы отдельными поставщиками, [13] включая одно от Apple . [19]

Набор символов 0x21/0xA1 (строка 1: знаки препинания и символы)

Эта строка содержит знаки препинания, математические операторы и другие символы. В следующей таблице сначала показаны сопоставления GB 18030 [20] для этих символов GB/T 2312, а затем любые другие документированные сопоставления.

Набор символов 0x22/0xA2 (строка 2: маркеры списка)

Эта строка содержит различные типы маркеров списка. Строчные формы римских цифр не были включены ни в исходный GB/T 2312 [21], ни в GB/T 12345, [6] , но включены как в кодовую страницу Windows 936 [22] , так и в GB 18030 . [20] Знак евро также был добавлен в GB 18030. [20]

Набор символов 0x23/0xA3 (строка 3: ISO 646-CN)

Эта строка содержит ISO 646-CN (GB/T 1988-80), национальный аналог ASCII . Сравните строку 3 KS X 1001 , которая делает то же самое с версией ISO 646 для Южной Кореи , и строку 3 JIS X 0208 и KPS 9566 , которые включают только буквенно-цифровой подмножество, но в том же макете. В следующей таблице указан ISO 646-CN.

При использовании в кодировке, допускающей комбинацию с ASCII, такой как EUC-CN (и его расширенный набор GB 18030 ), эти символы обычно реализуются как символы полной ширины , поэтому используются сопоставления с блоками форм половинной и полной ширины, как показано ниже. GB 6345.1 также обрабатывает эту строку как полную ширину и добавляет формы половинной ширины (как указано выше) в качестве строки 10. [1] Apple в основном сопоставляет эту строку с кодовыми точками полной ширины, как показано ниже, но использует сопоставления не полной ширины для надстрочной линии и знака юаня , как выше. [19]

Набор символов 0x24/0xA4 (строка 4: Хирагана)

Этот набор содержит хирагану для письма на японском языке .

Сравните со строкой 4 JIS X 0208 , которой соответствует эта строка, и со строкой 10 из KS X 1001 и KPS 9566 , которые используют ту же компоновку, но в другой строке.

Набор символов 0x25/0xA5 (строка 5: катакана)

В этот набор входит катакана для письма на японском языке . Однако японский знак долгой гласной , который используется в тексте катаканы и включен в строку 1 JIS X 0208 , не включен в GB/T 2312, хотя он добавлен в GBK и GB 18030 за пределами основного GB/T 2312. плоскость, [24] по адресу 0xA960. [20]

Сравните со строкой 5 JIS X 0208 , которой соответствует эта строка, и со строкой 11 из KS X 1001 и KPS 9566 , которые используют ту же компоновку, но в другой строке.

Набор символов 0x26/0xA6 (строка 6: греческое и вертикальное расширения)

Эта строка содержит базовую поддержку современного греческого алфавита без диакритических знаков и последней сигмы .

Выделенные символы представляют собой формы представления знаков препинания для вертикального письма и не включены в собственно GB/T 2312, но включены в эту строку в GB/T 12345, [ 1] [6] Кодовая страница Windows 936 , [22] Mac OS на упрощенном китайском языке, [19] и GB 18030. [20] Они рассматриваются как «стандартные расширения GB 2312». [19] И наоборот, ISO-IR-165 включает в эту строку узорчатые полуграфические символы (в основном без точных аналогов в Юникоде), что противоречит позициям кода, используемым для вертикальных расширений. [25]

Сравните со строкой 6 JIS X 0208 , которой эта строка соответствует, если не включены вертикальные формы, и со строкой 6 KPS 9566 , которая включает те же греческие буквы в той же раскладке, но добавляет римские цифры вместо вертикальных форм. Сравните строку 5 KS X 1001 , в которой греческие буквы смещены, чтобы сначала были включены римские цифры.

Набор символов 0x27/0xA7 (строка 7: кириллица)

В этот набор входят оба корпуса по 33 буквы кириллицы , достаточные для написания современного русского алфавита и болгарского алфавита , хотя другие формы кириллицы требуют дополнительных букв. [27]

Сравните со строкой 7 JIS X 0208 , которой соответствует эта строка, а также со строкой 12 из KS X 1001 и строкой 5 из KPS 9566 , которые используют ту же компоновку, но в разных строках.

Набор символов 0x28/0xA8 (строка 8: чжуинь и пиньинь, не входящая в ASCII)

Эта строка содержит символы бопомофо и пиньинь , за исключением букв ASCII (которые находятся в строке 3). Выделенные символы — это те символы, которых нет в базовом наборе GB 2312, но добавлены GB 6345.1 , [19] , а также включены в GB/T 12345, [1] [6] Кодовая страница Windows 936 , [22] Упрощенная Mac OS Китайский [19] и GB 18030. [20] Они рассматриваются как «стандартные расширения GB 2312». [19]

GB 6345.1 рассматривает пиньинь в этой строке как полную ширину и включает аналоги половинной ширины как строку 11; [1] GB 18030 этого не делает.

Набор символов 0x29/0xA9 (строка 9: рисунок рамки)

Ханзи ряды

Исправления

GB 5007.1-85 Набор растровых шрифтов 24x24 китайских символов для обмена информацией ( китайский :信息交换用汉字 24x24 点阵字模集) — это самый ранний шаблон шрифта, основанный на GB/T 2312, в который включены исправления и расширения, в том числе:

В GB/T 2312 исправлений не было, но эти исправления включены в шаблоны шрифтов, основанные на GB/T 2312, включая GB/T 12345; его суперсеты GBK и GB 18030 также включали эти исправления. GB/T 2312 также используется в ISO-IR-165 .

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

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

  1. ^ abcde Лунде, Кен (2009). Обработка информации CJKV: китайские, японские, корейские и вьетнамские вычисления (2-е изд.). Севастополь, Калифорния : О'Рейли . стр. 94–111. ISBN 978-0-596-51447-1.
  2. ^ «2017年第7号中国国家标准公告 (Бюллетень национальных стандартов Китая, 2017 № 7)» . Управление стандартизации Китайской Народной Республики . Проверено 3 июля 2018 г.
  3. ^ «Распространение кодировок символов между веб-сайтами, использующими Китай и территории» . w3techs.com . Проверено 4 сентября 2022 г.
  4. ^ «Исторические тенденции в статистике использования кодировок символов для веб-сайтов, октябрь 2022 г.» . w3techs.com . Проверено 1 октября 2022 г.
  5. ^ «Кодирование: обобщенные результаты испытаний» . www.w3.org . Проверено 15 ноября 2019 г.
  6. ^ abcd Лунде, Кен (1998). Приложение F: GB/T 12345 (PDF) . О'Рейли Медиа . ISBN 9781565922242. {{cite book}}: |work=игнорируется ( помощь )
  7. ^ GB12345-80 в таблицу Юникода. Консорциум Юникод . 06.12.1993. Архивировано из оригинала 17 июня 2004 г.
  8. ^ Ханнас, Уильям К. (1997). Орфографическая дилемма Азии. Гавайский университет Press. п. 264. ИСБН 9780824818920. комплект обеспечивает более 99,99 процентов всего использования. Тем не менее дизайнеры сочли необходимым добавить 14 276 символов «специального использования» на случай непредвиденных обстоятельств!
  9. ^ «GB 2312-1980: Информационные технологии — набор символов, закодированный китайской идеограммой для обмена информацией (базовый набор)» . Май 1981 года.
  10. ^ «Юникод в таблицу GB2312 или GBK» . cs.nyu.edu . Архивировано из оригинала 3 марта 2016 года . Проверено 11 января 2022 г.
  11. ^ Аб Лунде, Кен Роджер (декабрь 2008 г.). Обработка информации CJKV (2-е изд.). О'Рейли . ISBN 978-0-596-51447-1.
  12. ^ «GB 2312-1980: Информационные технологии — набор символов, закодированных китайской иероглифами для обмена информацией (базовый набор)» . Май 1981 года . Проверено 2 октября 2016 г.
  13. ^ аб Хайбле, Бруно. «GB2312 (Таблицы преобразования)» . Проверено 29 сентября 2016 г.
  14. ^ "Readme - MAPPINGS/УСТАРЕВШИЕ/EASTASIA" . 9 августа 2001 года . Проверено 29 сентября 2016 г.
  15. ^ "java-EUC_CN-1.3_P.ucm" . Проверено 29 сентября 2016 г.[ постоянная мертвая ссылка ]
  16. ^ "libiconv:lib/gb2312.h". ГНУ Саванна . Проверено 29 сентября 2016 г.
  17. ^ «Выпуск 24036». Трекер ошибок Python .
  18. ^ «Кодировка § Имена и метки» . W3C . Проверено 29 сентября 2016 г.
  19. ^ abcdefghij «Сопоставление (внешняя версия) из упрощенной китайской кодировки Mac OS в Unicode 3.0 и более поздних версий». Apple, Inc.
  20. ^ abcdefghij Управление по стандартизации Китая (SAC) (18 ноября 2005 г.). GB 18030-2005: Информационные технологии — набор китайских кодированных символов.
  21. ^ Китайская ассоциация по стандартизации . Набор китайских графических символов для обмена информацией (PDF) . ITSCJ/ IPSJ . ИСО-ИК -58.
  22. ^ abcdef Microsoft . «КОДОВАЯ СТРАНИЦА 936: КНР ГБК (XGB) — ANSI, OEM». Консорциум Юникод .
  23. ^ аб Вишванада, Рагурам (30 августа 2000 г.). «Таблица Unicode в ISO-IR-165». Международные компоненты для Unicode . ИБМ .
  24. ^ Лунде, Кен (2009). «Кажется, пропавшие персонажи». Обработка информации CJKV: китайские, японские, корейские и вьетнамские вычисления (2-е изд.). Севастополь, Калифорния : О'Рейли . п. 180. ИСБН 978-0-596-51447-1.
  25. ^ ab CCITT (13 июля 1992 г.). Коды китайского графического набора символов для связи (PDF) . ITSCJ/ IPSJ . ИСО-ИК -165.
  26. Лунде, доктор Кен (4 августа 2022 г.). «Стандарт GB 18030-2022». Середина . Проверено 7 августа 2022 г.
  27. ^ Чиборра, Роман (30 ноября 1998 г.) [25 мая 1998 г.]. «Суп с кириллической кодировкой». Архивировано из оригинала 3 декабря 2016 г. Проверено 3 декабря 2016 г.
  28. ^ «Политика стабильности кодировки символов Unicode» . Консорциум Юникод. 23.06.2017.

Примечания

  1. ^ Только для иероглифов, предусмотренных GB/T 2312, все из которых соответствуют Unicode BMP.
  2. ^ ab В качестве набора из 94 n символов, совместимого с ISO 2022 , простой пробел и символ удаления доступны в виде однобайтовых кодов по адресам 0x20 и 0x7F (не 0xA0 и 0xFF) соответственно.
  3. ^ Используется для U+FF47 в большинстве реализаций на основе GB 6345.1 , включая реализацию Apple и GB 18030 (которые используют 8-32 для U+0261), [20] , но для U+0261 по ISO-IR-165 . [23]
  4. ^ abcdefghij Эти символы из блока «Вертикальные формы» . Некоторые используемые сопоставления были разработаны, когда единственными формами вертикального представления, существовавшими в Unicode, были формы в блоке CJK Compatibility Forms . В частности, они сопоставляются Windows-936 и ранее GB 18030 с областью частного использования , но с определенным глифом [22] [20] , а Apple — с обычным символом полной ширины с добавленным символом частного использования U+F87E в качестве маркер вариации. [19] В обновлении GB 18030-2022 эти сопоставления областей частного использования были удалены и теперь сопоставлены со стандартными кодовыми точками Unicode. [26]
  5. ^ Сопоставлено с областью частного использования U+E7C7 в первом (2000 г.) издании GB 18030 , а также в Windows-936; [22] это было исправлено изданием GB 18030 2005 года. [20]
  6. ^ Этот составной символ был добавлен в Unicode 3.0. До этого этот символ был сопоставлен Apple с его композиционной последовательностью (т. е. U+006E+0300 ). [19] Это изменение предшествовало стабилизации форм нормализации Unicode , которая была введена в Unicode 3.1. [28] Windows-936 сопоставляет его с областью частного использования U+E7C8 . [22]
  7. ^ Сопоставлено с U+0261 в GB 18030 [20] и большинстве других реализаций, основанных на GB 6345.1 [19] (которые используют 3-71 для U+FF47), но с U+FF47 в ISO-IR-165. [23] [25]
  1. ^ ɑ (U+0251)
    ḿ (U+1E3F; представлено в Unicode 3.0, поэтому CP936 не включал этот символ [1] [ постоянная мертвая ссылка ] )
    ń (U+0144)
    ň (U+0148)
    ٹ (U+ 01F9; Представлено в Unicode 3.0, поэтому CP936 не включал этот символ [2] [ постоянная неработающая ссылка ] )
    ɡ (U+0261)

дальнейшее чтение

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