ГБ 18030 - GB 18030
Эта статья нужны дополнительные цитаты для проверка.Сентябрь 2016) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
Схема кодирования GB 18030. «Полукоды» обозначают коды, используемые парами как четырехбайтовые коды. | |
MIME / IANA | GB18030 |
---|---|
Псевдоним (а) | Кодовая страница 54936 |
Язык (и) | Международный, но в первую очередь предназначен для Китайский |
Стандарт | ГБ 18030-2005, ГБ 18030-2000 |
Классификация | Формат преобразования Unicode, расширенный ASCII,[а] кодирование с переменной шириной, Кодирование CJK |
Расширяется | EUC-CN, ГБК |
Преобразует / кодирует | ISO 10646 (Unicode ) |
Предшествует | ГБК, GB2312 |
| |
ГБ 18030 это Стандарт правительства Китая, описан как Информационные технологии - набор китайских кодированных символов и определяет требуемый язык и поддержку символов, необходимых для программного обеспечения в Китай. GB18030 зарегистрированное имя в Интернете для официального набор символов из Китайская Народная Республика (КНР) замена GB2312.[1] Как Формат преобразования Unicode[а] (т.е. кодирование всех Unicode кодовые точки), GB18030 поддерживает оба упрощенный и традиционный Китайские иероглифы. Он также совместим с устаревшими кодировками, включая GB2312, CP936,[b] и ГБК 1.0.
В дополнение к «кодировке символов GB18030» этот стандарт содержит требования о том, какие скрипты должны поддерживаться, поддержка шрифтов и т. Д.[2]
История
Набор символов GB18030 формально называется «Китайский национальный стандарт GB 18030-2005: Информационные технологии - набор символов китайского кодирования». ГБ сокращенно Guójiā Biāozhǔn (国家 标准), что означает национальный стандарт на китайском. Стандарт был опубликован China Standard Press, Пекин, 8 ноября 2005 г. Только часть стандарта является обязательной.[2] С 1 мая 2006 г. поддержка обязательного подмножества официально требуется для всех программных продуктов, продаваемых в КНР.
Байт ГБ последовательность | Кодовая точка Unicode | |
---|---|---|
ГБ 18030-2000 | ГБ 18030-2005 | |
A8 BC (ḿ) | U + E7C7 | U + 1E3F ḿ |
81 35 F4 37 | U + 1E3F ḿ | U + E7C7 |
Более старая версия стандарта, известная как «Китайский национальный стандарт GB 18030-2000: информационные технологии - набор символов, кодированных китайскими идеограммами для обмена информацией - расширение для базового набора», была опубликована 17 марта 2000 г. Схема кодирования остается прежней. то же самое в новой версии, и единственная разница в сопоставлении GB-to-Unicode заключается в том, что GB 18030-2000 сопоставил символ A8 BC
(ḿ) в кодовую точку частного использования U + E7C7, а символ 81 35 F4 37
(без указания какого-либо глифа) на U + 1E3F (whereas), тогда как GB 18030-2005 меняет местами эти два назначения сопоставления.[3]:534 Больше кодовых точек теперь связано с символами из-за обновления Unicode, особенно появление Унифицированные идеограммы CJK Расширение B. Некоторые символы, используемые этнические меньшинства в Китае, Такие как Монгольские персонажи и Тибетские персонажи (ГБ 16959 -1997 и ГБ / т 20542 -2006), что объясняет переименование стандарта.
По сравнению со своими предками отображение GB 18030 в Unicode было изменено для 81 символа, которому предварительно был назначен Unicode. Зона частного использования кодовая точка (U + E000 – F8FF) в GBK 1.0, которая позже была закодирована в Unicode.[4] Это указано в Приложении E GB 18030.[3]:534[5]:499 В GB 18030-2005 есть 24 символа, которые все еще отображаются в Unicode PUA.[6] По словам Кена Лунде, в проекте новой версии GB 18030 от 2018 года эти сопоставления будут окончательно устранены.[7]
Байт ГБ последовательность | Кодовая точка Unicode (синий = личное использование) | ||
---|---|---|---|
GBK 1.0[8][3]:534 | ГБ 18030 -2005[6] | Юникод 4.1 | |
A6 D9[9]:108 | U + E78D | U + FE10 ︐ | |
A6 DA | U + E78E | U + FE12 ︒ | |
A6 DB | U + E78F | U + FE11 ︑ | |
A6 DC | U + E790 | U + FE13 ︓ | |
A6 DD | U + E791 | U + FE14 ︔ | |
A6 DE | U + E792 | U + FE15 ︕ | |
A6 DF | U + E793 | U + FE16 ︖ | |
A6 EC | U + E794 | U + FE17 ︗ | |
A6 ED | U + E795 | U + FE18 ︘ | |
A6 F3 | U + E796 | U + FE19 ︙ | |
A8 BC | U + E7C7 | U + 1E3F ḿ | |
A8 BF | U + E7C8 | U + 01F9 ǹ | |
A9 89 | U + E7E7 | U + 303E 〾 | |
A9 8A | U + E7E8 | U + 2FF0 ⿰ | |
A9 8B | U + E7E9 | U + 2FF1 ⿱ | |
A9 8C | U + E7EA | U + 2FF2 ⿲ | |
A9 8D | U + E7EB | U + 2FF3 ⿳ | |
A9 8E | U + E7EC | U + 2FF4 ⿴ | |
A9 8F | U + E7ED | U + 2FF5 ⿵ | |
A9 90 | U + E7EE | U + 2FF6 ⿶ | |
A9 91 | U + E7EF | U + 2FF7 ⿷ | |
A9 92 | U + E7F0 | U + 2FF8 ⿸ | |
A9 93 | U + E7F1 | U + 2FF9 ⿹ | |
A9 94[9]:173 | U + E7F2 | U + 2FFA ⿺ | |
A9 95 | U + E7F3 | U + 2FFB ⿻ | |
FE 50 | U + E815 | U + 2E81 ⺁ | |
FE 51 | U + E816 | U + 20087 𠂇 | |
FE 52 | U + E817 | U + 20089 𠂉 | |
FE 53 | U + E818 | U + 200CC 𠃌 | |
FE 54 | U + E819 | U + 2E84 ⺄ | |
FE 55 | U + E81A | U + 3473 㑳 | |
FE 56 | U + E81B | U + 3447 㑇 | |
FE 57 | U + E81C | U + 2E88 ⺈ | |
FE 58 | U + E81D | U + 2E8B ⺋ | |
FE 59 | U + E81E | U + 9FB4 龴 | |
FE 5A | U + E81F | U + 359E 㖞 | |
FE 5B | U + E820 | U + 361A 㘚 | |
FE 5C | U + E821 | U + 360E 㘎 | |
FE 5D | U + E822 | U + 2E8C ⺌ | |
FE 5E | U + E823 | U + 2E97 ⺗ | |
FE 5F | U + E824 | U + 396E 㥮 | |
FE 60 | U + E825 | U + 3918 㤘 | |
FE 61 | U + E826 | U + 9FB5 龵 | |
FE 62 | U + E827 | U + 39CF 㧏 | |
FE 63 | U + E828 | U + 39DF 㧟 | |
FE 64 | U + E829 | U + 3A73 㩳 | |
FE 65 | U + E82A | U + 39D0 㧐 | |
FE 66 | U + E82B | U + 9FB6 龶 | |
FE 67 | U + E82C | U + 9FB7 龷 | |
FE 68 | U + E82D | U + 3B4E 㭎 | |
FE 69 | U + E82E | U + 3C6E 㱮 | |
FE 6A | U + E82F | U + 3CE0 㳠 | |
FE 6B | U + E830 | U + 2EA7 ⺧ | |
FE 6C | U + E831 | U + 215D7 𡗗 | |
FE 6D | U + E832 | U + 9FB8 龸 | |
FE 6E | U + E833 | U + 2EAA ⺪ | |
FE 6F | U + E834 | U + 4056 䁖 | |
FE 70 | U + E835 | U + 415F 䅟 | |
FE 71 | U + E836 | U + 2EAE ⺮ | |
FE 72 | U + E837 | U + 4337 䌷 | |
FE 73 | U + E838 | U + 2EB3 ⺳ | |
FE 74 | U + E839 | U + 2EB6 ⺶ | |
FE 75 | U + E83A | U + 2EB7 ⺷ | |
FE 76 | U + E83B | U + 2298F 𢦏 | |
FE 77 | U + E83C | U + 43B1 䎱 | |
FE 78 | U + E83D | U + 43AC 䎬 | |
FE 79 | U + E83E | U + 2EBB ⺻ | |
FE 7A | U + E83F | U + 43DD 䏝 | |
ФЕ 7Б | U + E840 | U + 44D6 䓖 | |
FE 7C | U + E841 | U + 4661 䙡 | |
FE 7D | U + E842 | U + 464C 䙌 | |
FE 7E | U + E843 | U + 9FB9 龹 | |
FE 80 | U + E844 | U + 4723 䜣 | |
FE 81 | U + E845 | U + 4729 䜩 | |
FE 82 | U + E846 | U + 477C 䝼 | |
FE 83 | U + E847 | U + 478D 䞍 | |
FE 84 | U + E848 | U + 2ECA ⻊ | |
FE 85 | U + E849 | U + 4947 䥇 | |
FE 86 | U + E84A | U + 497A 䥺 | |
FE 87 | U + E84B | U + 497D 䥽 | |
FE 88 | U + E84C | U + 4982 䦂 | |
FE 89 | U + E84D | U + 4983 䦃 | |
FE 8A | U + E84E | U + 4985 䦅 | |
FE 8B | U + E84F | U + 4986 䦆 | |
FE 8C | U + E850 | U + 499F 䦟 | |
FE 8D | U + E851 | U + 499B 䦛 | |
FE 8E | U + E852 | U + 49B7 䦷 | |
FE 8F | U + E853 | U + 49B6 䦶 | |
FE 90 | U + E854 | U + 9FBA 龺 | |
FE 91 | U + E855 | U + 241FE 𤇾 | |
FE 92 | U + E856 | U + 4CA3 䲣 | |
FE 93 | U + E857 | U + 4C9F 䲟 | |
FE 94 | U + E858 | U + 4CA0 䲠 | |
FE 95 | U + E859 | U + 4CA1 䲡 | |
FE 96 | U + E85A | U + 4C77 䱷 | |
FE 97 | U + E85B | U + 4CA2 䲢 | |
FE 98 | U + E85C | U + 4D13 䴓 | |
FE 99 | U + E85D | U + 4D14 䴔 | |
FE 9A | U + E85E | U + 4D15 䴕 | |
ФЕ 9Б | U + E85F | U + 4D16 䴖 | |
FE 9C | U + E860 | U + 4D17 䴗 | |
FE 9D | U + E861 | U + 4D18 䴘 | |
FE 9E | U + E862 | U + 4D19 䴙 | |
FE 9F | U + E863 | U + 4DAE 䶮 | |
FE A0 | U + E864 | U + 9FBB 龻 |
Как национальный стандарт
Обязательная часть GB 18030-2005 состоит из 1-байтового и 2-байтового кодирования вместе с 4-байтовым кодированием для Унифицированные идеограммы CJK Расширение A. Соответствующие кодовые точки Unicode этого подмножества, включая временные частные назначения, полностью лежат в BMP.[3]:3 Эти части полностью соответствуют требованиям GB 18030-2000.[2]:2
Большинство крупных компьютерных компаний уже стандартизировали некоторую версию Unicode в качестве основного формата для использования в своих двоичных форматах и вызовах ОС. Однако в основном они поддерживали только кодовые точки в BMP изначально определен в Unicode 1.0, который поддерживает только 65 536 кодовых точек и часто кодируется в 16 битах как UCS-2.
В шаге исторического значения для программного обеспечения, поддерживающего Unicode, КНР решил обязать поддержку определенных кодовых точек[который? ] вне БМП.[нужна цитата ] Это означает, что программное обеспечение больше не может обрабатывать символы как 16-битные объекты фиксированной ширины (UCS-2 ). Следовательно, они должны обрабатывать данные в формате переменной ширины (например, UTF-8 или же UTF-16 ), которые являются наиболее распространенными вариантами, или перейти к большему формату фиксированной ширины (например, UCS-4 или же UTF-32 ). Microsoft сделала изменение с UCS-2 на UTF-16 с Windows 2000.
Картография
GB 18030 определяет однобайтовую (ASCII), двухбайтовую (расширенный GBK) или четырехбайтовую (UTF) кодировку. Двухбайтовые коды определены в таблице поиска, в то время как четырехбайтовые коды определены последовательно (следовательно, алгоритмически), чтобы заполнить незакодированные части в UCS. GB 18030 унаследовал плохие аспекты ГБК, особенно нуждающийся в специальном коде для безопасного поиска символов ASCII в последовательности GB18030.
ГБ 18030 | кодовые точки[c] | Unicode | |||
---|---|---|---|---|---|
байт 1 (MSB) | байт 2 | байт 3 | байт 4 | ||
00 – 7F | 128 | 0000 – 007F | |||
80 | — | инвалид[d] | |||
81 – FE | 40 – FE Кроме 7F [e] | 23940 | 0080 – FFFF Кроме D800 – DFFF [f] | ||
81 – 84 | 30 – 39 | 81 – FE | 30 – 39 | 39420 | |
85 | — (12600) | зарезервировано для будущего расширения символа | |||
86 – 8F | — (126000) | зарезервировано для будущего идеографического расширения | |||
неназначенный | — | D800 – DFFF [грамм] | |||
90 – E3 | 30 – 39 | 81 – FE | 30 – 39 | 1048576 | 10000 – 10FFFF |
E4 – FC | — (315000) | зарезервировано для будущего стандартного расширения | |||
FD – FE | — (25200) | определяемые пользователем | |||
FF | — | инвалид | |||
Всего | 1112064 |
Одно- и двухбайтовые кодовые точки по сути ГБК со знаком евро, сопоставлениями PUA для неназначенных / определенных пользователем точек и вертикальной пунктуации. Четырехбайтовую схему можно представить как состоящую из двух блоков по два байта каждая. Каждый блок имеет формат, аналогичный двухбайтовому символу GBK, но с диапазоном значений для второго байта 0x30–0x39 ( ASCII коды для десятичных цифр). Первый байт, как и раньше, имеет диапазон от 0x81 до 0xFE. Это означает, что процедура поиска строки, безопасная для GBK, также должна быть достаточно безопасной для GB18030 (почти так же, как и базовый байтовый процедура поиска достаточно безопасна для EUC ).
Это дает в общей сложности 1587600 (126 × 10 × 126 × 10) возможных 4-байтовых последовательностей, которых легко достаточно для покрытия Unicode 1112 064 (17 × 65536 - 2048 суррогатов) назначенных, зарезервированных и несимвольных кодовых точек.
К сожалению, что еще больше усложняет ситуацию, нет простых правил для перевода между 4-байтовой последовательностью и соответствующей ей. кодовая точка. Вместо этого коды распределяются последовательно (первый байт содержит наиболее значимую часть, а последний - наименее значимую часть). Только в кодовые точки Unicode, которые не отображаются никаким другим способом.[час] Например:
U + 00DE (Þ) → 81 30 89 37U + 00DF (ß) → 81 30 89 38U + 00E0 (à) → A8 A4U + 00E1 (á) → A8 A2U + 00E2 (â) → 81 30 89 39U + 00E3 ( ã) → 81 30 8A 30
Таблица смещения используется в WHATWG и W3C версия GB 18030 для эффективного перевода кодовых точек.[11] ICU[10] и glibc используют похожие определения диапазонов, чтобы не тратить место на большие последовательные блоки.
Поддерживать
Эта секция нуждается в расширении с: информация о macOS. Вы можете помочь добавляя к этому. (Октябрь 2016) |
Кодирование
Windows 2000 может поддерживать кодировку GB18030, если пакет поддержки GB18030[12] установлен. Windows XP может поддерживать это изначально. База данных 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,[13] и GB 18030-2005 с версии 2.14;[14] glibc, в частности, включает сопоставления не-PUA для GB 18030-2005 для достижения двустороннего преобразования.[15] GNU libiconv, альтернатива iconv реализация, часто используемая в UNIX-подобных средах, отличных от glibc, таких как Cygwin, поддерживает GB 18030 начиная с версии 1.4.[16]
Глифы
Пакет поддержки 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) китайской части.[2]:4 Тем не менее, требование наличия символов PUA в стандарте препятствовало этой реализации.[7]
Другие семейства шрифтов CJK как HAN NOM[17] и Ханадзоно Минчо[18] обеспечивают более широкий охват блоков расширения Unicode CJK, чем SimSun-18030 или даже Simsun (Founder Extended), но они также не поддерживают все кодовые точки, определенные в Unicode 5.0.0.
Смотрите также
Примечания
- ^ Обратите внимание, что GB18030 опускает суррогаты; видеть # Картография.
- ^ В знак евро является исключением, которому дается однобайтовый код 0x80 в более поздних версиях Microsoft CP936 / GBK и двухбайтовый код A2 E3 в GB18030.
- ^ Кодовые точки включают 66 несимволов Unicode.
- ^ ICU, похоже, ошибочно считает этот код действительным, чего нет ни в одной из версий опубликованных стандартов. WHATWG присваивает этот байт U + 20AC (GBK знак евро ) в его универсальном декодере gb2312-gbk-gb18030.
- ^ Для более тонкого разделения этого диапазона см. GBK (кодировка символов) § Кодировка.
- ^ Некоторые кодовые точки кодируются двумя байтами (верхняя строка), другие - четырьмя байтами (нижняя строка). U + FFFF кодируется как
84 31 A4 39
на странице 239 стандарта 2005 г., хотя стандарт дает84 39 FE 39
для отображения BMP. - ^ Это суррогатные кодовые точки; они не имеют значения вне UTF-16 кодирование.
- ^ Кроме того, из-за того, что кодировки U + E7C7 и U + 1E3F были поменяны местами, U + E7C7 кодируется в редакции стандарта 2005 года как 81 35 F4 37, между U + 1E3E (81 35 F4 36) и U + 1E40. (81 35 F4 38). Следовательно, только издание 2000 года является полностью последовательным в распределении четырехбайтовых кодов для иначе не отображаемых кодовых точек.
Рекомендации
- ^ Энтони Фок (2002-03-15). «Применение регистрации кодировки IANA для GB18030». Регистрация набора символов IANA. Получено 2016-12-05.
- ^ а б c d CESI (2009-07-08). "GB18030 符合 性 问与答" [Часто задаваемые вопросы о соответствии GB18030]. Центр сертификации CESI. Архивировано из оригинал на 2016-09-28. Получено 2016-10-12.
Стр. 4 GB 18030-2005, GB 18030-2005, GB 18030-2005. [Продукт, соответствующий обязательной части GB 18030, должен уметь правильно а) вводить, выводить и обрабатывать все китайские символы, определенные в обязательном наборе; б) распознавать кодировки символов в обязательном наборе.]
Альтернативный URL - ^ а б c d е Управление по стандартизации Китая (SAC) (18 ноября 2005 г.). GB 18030-2005: Информационные технологии - набор китайских кодированных символов.
- ^ "Вопросы и ответы по Unicode на GB 18030". Проект ICU. Получено 10 сентября 2016.
- ^ а б GB 18030-2000: Информационные технологии. Набор символов китайских идеограмм для обмена информацией. Расширение для базового набора.. Управление стандартизации Китая (SAC). 2000-03-17.
- ^ а б Лунде, Кен (2006). «Обновление L2 / 06-394 на GB 18030: 2005». Реестр документов Технического комитета Unicode. Получено 28 сентября 2016.
- ^ а б Лунде, Кен. «Если gb18030 пересмотрен, рассмотрите возможность согласования стандарта кодирования · Проблема № 27 · whatwg / encoding». GitHub.
Кроме того, поддержка кодовых точек PUA в контексте шрифтов Noto CJK и Source Han совершенно не запускается, в основном потому, что они являются гарнитурами Pan-CJK, а использование PUA в таких контекстах чрезвычайно опасно. [...] Один из них. несколько дней назад мои друзья из CESI поделились со мной текстом из окончательного варианта. Это подтвердило, что требование PUA для 24 символов отменяется.
- ^ «Группа: ГБК 外 字». GlyphWiki. Получено 11 сентября 2016.
- ^ а б Лунде, Кен (декабрь 2008 г.). CJKV Обработка информации. O'Reilly Media, Inc. ISBN 978-0-596-51447-1. Получено 11 сентября 2016.
- ^ а б Официальная таблица сопоставления между GB18030-2000 и Unicode. ICU - Международные компоненты Unicode. 2001-02-21. Проверено 4 сентября 2016 г.
- ^ "Стандарт кодирования # gb18030-index". WHATWG. Получено 2016-09-24.
- ^ Microsoft. «Пакет поддержки GB18030». Архивировано из оригинал на 2012-06-05.
- ^ Дреппер, Ульрих. "Модуль GB18030 iconv для glibc". glibc git. Получено 29 ноября 2016.
- ^ Дреппер, Ульрих. "Обновление GB18030 до версии 2005". glibc git. Получено 29 ноября 2016.
- ^ Веймер, Флориан; О'Донелл, Карлос. «Статус таблиц GB18030 (# 19575)». Исходное ПО Bugzilla. Получено 29 ноября 2016.
- ^ «НОВОСТИ - libiconv.git - libiconv». git.savannah.gnu.org. Получено 2016-10-13.
- ^ VietUnicode. "/ ханном". sourceforge.net. Получено 2016-10-13.
- ^ «Шрифты Hanazono». fonts.jp. Получено 2016-10-13.
внешняя ссылка
- Регистрация кодировки IANA для GB18030
- «Англоязычная сводка - -2000» (PDF). 16 февраля 2001 г. Архивировано с оригинал (PDF) на 02.02.2017.
- Введение в GB18030, включая эволюцию от GB2312 и GBK (Солнце / Интернет-архив)
- Данные ICU
- Диаграммы Unicode
- Расширение унифицированных иероглифов Unicode CJK A (PDF, 1,5 МБ)
- Расширение B унифицированных иероглифов Unicode CJK (PDF, 13 МБ)
- GB18030 Пакет поддержки для Windows 2000 / XP, включая китайский, тибетский, йи, монгольский и тайский шрифт от Microsoft (Интернет-архив)
- Бесплатные шрифты, редакторы и документация SIL