GBK (kódování znaků) - GBK (character encoding)
MIME / IANA | GBK |
---|---|
Přezdívky | CP936 , MS936, windows-936, csGBK |
Jazyk (y) | Webové prohlížeče, dekódované jako GB 18030 , podporující všechny jazyky, přičemž kódování (a další softwarové dekodéry) se používá především pro zjednodušenou čínštinu , ale podporuje také tradiční čínštinu , japonštinu , angličtinu , ruštinu a (částečně) řečtinu . |
Standard | GBP 1,0 |
Klasifikace | Rozšířené ASCII , kódování s proměnnou šířkou , kódování CJK |
Rozšiřuje | EUC-CN |
Předchází | GB2312 |
Uspěl | GB 18030 |
GBK je rozšířením znakové sady GB2312 pro znaky zjednodušené čínštiny používané v Čínské lidové republice . Obsahuje všechny sjednocené znaky CJK nalezené v GB13000.1-93, tj. ISO/IEC 10646: 1993 nebo Unicode 1.1. Od svého prvního vydání v roce 1993 byla GBK společností Microsoft rozšířena na kódové stránce 936/1386 , která byla poté rozšířena na GBK 1,0 . GBK je také IANA registrovaný internetový název pro Microsoft mapování, který se liší od ostatních implementací především jednobajtovým znakem eura na 0x80.
GB zkracuje Guojia Biaozhun , což v čínštině znamená národní standard , zatímco K znamená Extension (扩展 kuòzhǎn ). GBK nejenže rozšířilo starý standard GB2312 o tradiční čínské znaky, ale také o čínské znaky, které byly zjednodušeny po vzniku GB2312 v roce 1981. S příchodem GBK některá jména se znaky dříve nereprezentovatelnými, jako znak 镕 ( róng ) v jméno bývalého čínského premiéra Zhu Rongji , jsou nyní reprezentativní.
V říjnu 2021 je GBK druhým nejpopulárnějším čínským kódováním (po podmnožině GB2312), přičemž je deklarováno 2,4% webových stránek obsluhovaných z Číny a teritorií a méně než 0,1% všech webových stránek na celém světě, tj. jako takové, ale všechny hlavní webové prohlížeče dekódují dokumenty označené např. „ GB 2312 “ nebo „ GB2312 “, jako by byly označeny „gbk“ (zatímco u stránek označených „GB_2312“ to tak není) a GBK a kódování podmnožiny GB 2312 má dohromady 10,0% podíl (nebo méně než 0,2% globálně).
Dějiny
V roce 1993 byl vydán standard Unicode 1.1, včetně 20 902 znaků používaných v Číně , na Tchaj -wanu , v Japonsku a Koreji . V návaznosti na to Čína vydala GB13000.1-93, což je standardní ekvivalent Guobiao Unicode 1.1.
GBK znaková sada byla definována v roce 1993 jako rozšíření GB2312 -80, a zároveň včetně znaků GB13000.1-93 prostřednictvím nevyužitých codepoints k dispozici v GB2312. GBK je tedy zpětně kompatibilní s GB2312.
Společnost Microsoft implementovala GBK v systému Windows 95 a Windows NT 3.51 jako kódová stránka 936 . Zatímco GBK nikdy nebyl oficiálním standardem, rozšířené používání systému Windows 95 vedlo k tomu, že se GBK stal de facto standardem. Zatímco GBK zahrnovalo všechny čínské znaky definované v Unicode 1.1 a GB13000.1-93, tyto standardy používaly různé tabulky kódů. Primárním důvodem jeho existence bylo jednoduše překlenout propast mezi GB2312-80 a GB13000.1-93.
V roce 1995 čínský národní výbor pro normalizaci informačních technologií stanovil specifikaci rozšíření čínského interního kódu ( čínština :汉字 内 码 扩展 GB (GBK) ; pinyin : Hànzì Nèimǎ Kuòzhǎn Guīfàn (GBK) ), verze 1.0, známá jako GBK 1.0 , která je mírným rozšířením Codepage 936. Nově přidaných 95 znaků nebylo v GB 13000.1-1993 nalezeno a byly jim prozatímně přiřazeny body kódu PUA Unicode .
Microsoft později přidal znak euro na kódovou stránku 936 a přidělil mu kód 0x80. Toto není platný kódový bod v GBK 1,0.
V roce 2000 byl vydán standard GB18030 -2000, který nahrazuje, ale zachovává kompatibilitu s GBK 1.0. To zvýšilo počet definic čínských znaků a rozšířilo počet možných znaků implementací čtyřbajtových znakových mezer. Podskupina GB 18030 sestávající z jednobajtových a dvoubajtových znaků je někdy také označována jako GBK . Mapování na Unicode však bylo mírně změněno, protože některé znaky jsou nyní definovány v Unicode. V nejaktuálnější podobě standardu GB 18030-2005 je do Unicode PUA stále mapováno pouze 24 znaků (viz GB 18030#PUA .)
V roce 2002 byla GBK zaregistrována jako znaková sada IANA; registrace používá mapování kódové stránky 936 a také aliasy CP936/MS936, ale odkazuje na specifikaci GBK 1.0.Technické doporučení W3C publikované v roce 2015 definuje kodér GBK jako kodér GB 18030 s jednobajtovým znakem eura a bez čtyřbajtových sekvencí (zatímco specifikace dekodéru GBK W3C nemá takové omezení, dekóduje jako GB 18030 , tj. Se stejným rozsahem písmen jako všechny Unicode ).
Kódování
Znak je kódován jako 1 nebo 2 bajty. Bajt v rozsahu 00
- 7F
je jeden bajt, který znamená totéž, co v ASCII . Přesně řečeno, v tomto rozsahu je 95 znaků a 33 řídicích kódů.
Bajt se sadou vysokých bitů označuje, že se jedná o první ze 2 bajtů. Volně řečeno, první bajt je v rozsahu 81
- FE
(to znamená nikdy 80
nebo FF
) a druhý bajt je 40
- A0
kromě 7F
některých oblastí a A1
- FE
pro jiné.
Konkrétněji jsou definovány následující rozsahy bajtů:
rozsah | bajt 1 | bajt 2 | kódové body | znaky | |||
---|---|---|---|---|---|---|---|
GB 18030 | GBP 1,0 | Kódová stránka 936 | GB 2312 | ||||
Úroveň GBK/1 |
A1 -A9
|
A1 -FE
|
846 | 718 | 717 | 715 | 682 |
Úroveň GBK/2 |
B0 -F7
|
A1 -FE
|
6 768 | 6 763 | 6 763 | 6 763 | |
Úroveň GBK/3 |
81 -A0
|
40 - FE kromě7F
|
6 080 | 6 080 | 6 080 | ||
Úroveň GBK/4 |
AA -FE
|
40 - A0 kromě7F
|
8,160 | 8,160 | 8 080 | ||
Úroveň GBK/5 |
A8 -A9
|
40 - A0 kromě7F
|
192 | 166 | 153 | ||
definované uživatelem 1 |
AA -AF
|
A1 -FE
|
564 | ||||
definované uživatelem 2 |
F8 -FE
|
A1 -FE
|
658 | ||||
definované uživatelem 3 |
A1 -A7
|
40 - A0 kromě7F
|
672 | ||||
celkový: | 23 940 | 21 887 | 21,886 | 21,791 | 7,445 |
Schéma rozvržení
Následující obrázek v grafické podobě ukazuje prostor všech 64 kB možných 2bajtových kódů. Zelené a žluté oblasti jsou přiřazeny kódové body GBK, červené jsou pro znaky definované uživatelem. Nezbarvené oblasti jsou neplatné kombinace bajtů.
Vztah k jiným kódováním
Oblasti označené v předchozí části jako GBK/1 a GBK/2, které jsou brány samy o sobě, jsou jednoduše GB2312-80 ve svém obvyklém kódování, GBK/1 je non-hanzi oblast a GBK/2 hanzi oblast. GB2312, nebo přesněji jeho kódování EUC-CN, vezme pár bytů z rozsahu A1
- FE
jako každá 942 znaková sada ISO-2022 načtená do GR. To odpovídá pravé dolní čtvrtině výše uvedeného obrázku. GB2312 však nepřiřazuje žádné kódové body k řádkům umístěným na AA
- B0
a F8
- FE
, přestože vsadil území. GBK přidal do těchto řádků rozšíření. Vidíte, že tyto dvě mezery byly vyplněny uživatelsky definovanými oblastmi.
Ještě důležitější je, že GBK rozšířilo rozsah bytů. Mít dvoubajtové znaky v rozsahu ISO-2022 GR dává limit 94² = 8 836 možností. Pokud byste upustili od modelu přísných oblastí ISO-2022 pro grafické a řídicí znaky, ale zachovali byste funkci nízkých bajtů, kterými jsou 1 bajty znaků a páry vysokých bajtů označující znak, potenciálně byste mohli mít 128² = 16 384 pozic. GBK k tomu přispívá a rozšiřuje rozsah od A1
- FE
(94 voleb pro každý bajt) do 81
- FE
(126 voleb) pro první bajt a 40
- FE
(191 voleb) pro druhý bajt, tedy celkem 24 066 pozic.
Kódová stránka 936 společnosti Microsoft je obecně považována za GBK. Nicméně, 95 PUA znaky přidávají v GBK 1.0 nejsou zahrnuty v kódu stránky 936. kód Stránka 936 má také jednobajtové znak Euro na 0x80, která GBK 1.0 nemá.
Nástupce GBK GB18030 -2000 využívá zbývající rozsah dostupný pro druhý bajt ( 30
- 39
) k dalšímu rozšíření počtu možností při zachování GBK jako podmnožiny.
Reference
Poznámky
externí odkazy
- Autoritativní mapování GBK ICU - součást dat GB18030
- Referenční stránka společnosti Microsoft pro GBK
- Mapování GBK na Unicode Poznámka: Toto je kódová stránka Microsoft 936, která obsahuje položky pro 21791 dvoubajtových kódových bodů, 96 jednobajtových grafických znaků a 33 řídicích znaků. To není úplně stejné jako GBK, který má 21 886 znaků.
- Tabulka kódů GBK Pozn. Tato stránka kódovaná v GBK zobrazuje dostupný kódovací prostor zcela naplněný kromě 2 míst, celkem 32256 glyfů (32352 s implikovanými jednobajtovými kódy ASCII není znázorněno), což je více než 23940 nebo 21886. Skutečné vykreslování této tabulky závisí na dekodéru GBK vašeho prohlížeče.