GBK (Zeichencodierung) - GBK (character encoding)

Guojia Biaozhun Kuozhan (GBK)
GBK-Kodierung.svg
Layout von GBK ( siehe unten für eine größere Kopie dieses Diagramms)
MIME / IANA GBK
Alias(e) CP936 , MS936, Windows-936, csGBK
Sprachen) Webbrowser, die als GB 18030 dekodieren , unterstützen alle Sprachen, während die Kodierung (und andere Software-Decoder) hauptsächlich für vereinfachtes Chinesisch verwendet wird , aber auch traditionelles Chinesisch , Japanisch , Englisch , Russisch und (teilweise) Griechisch unterstützt .
Standard GBK 1.0
Einstufung Erweitertes ASCII , Codierung mit variabler Breite , CJK-Codierung
Erweitert EUC-CN
Vorangestellt GB2312
gefolgt von GB 18030

GBK ist eine Erweiterung des GB2312- Zeichensatzes für vereinfachte chinesische Zeichen , die in der Volksrepublik China verwendet werden . Es enthält alle vereinheitlichten CJK-Zeichen aus GB13000.1-93, dh ISO/IEC 10646:1993 oder Unicode 1.1. Seit seiner ersten Veröffentlichung im Jahr 1993 wurde GBK von Microsoft in der Codepage 936/1386 erweitert , die dann zu GBK 1.0 erweitert wurde . GBK ist auch der bei der IANA registrierte Internetname für das Microsoft-Mapping, das sich von anderen Implementierungen vor allem durch das Single-Byte- Euro-Zeichen bei 0x80 unterscheidet.

GB kürzt Guojia Biaozhun ab , was auf Chinesisch nationaler Standard bedeutet , während K für Extension (扩展kuòzhǎn ) steht. GBK erweiterte nicht nur den alten Standard GB2312 mit traditionellem chinesischen Schriftzeichen, sondern auch mit chinesischen Schriftzeichen , die mit der Ankunft von GBK, bestimmten Namen mit Zeichen früher nicht darstellbaren, wie die镕(nach der Gründung von GB2312 1981 vereinfacht wurden Rong ) Zeichen in Namen des ehemaligen chinesischen Ministerpräsidenten Zhu Rongji , sind nun repräsentierbar.

Im Oktober 2021 ist GBK die zweitbeliebteste chinesische Kodierung (nach der Untergruppe GB2312), wobei 2,4 % der Webseiten aus China und Gebieten bereitgestellt werden, die es deklarieren, und weniger als 0,1 % aller Webseiten weltweit, wenn sie markiert sind als solche, aber alle gängigen Webbrowser decodieren Dokumente, die z. B. mit " GB 2312 " oder " GB2312 " gekennzeichnet sind, als wären sie mit "gbk" gekennzeichnet (wobei dies nicht alle für Seiten mit der Kennzeichnung "GB_2312" tun) und GBK und die Untermenge, die GB . codiert 2312 haben einen gemeinsamen Anteil von 10,0 % (oder weniger als 0,2 % weltweit).

Geschichte

1993 wurde der Unicode 1.1-Standard veröffentlicht, der 20.902 Zeichen enthält, die in Festlandchina , Taiwan , Japan und Korea verwendet werden . Im Anschluss daran veröffentlichte China GB13000.1-93, das Guobiao-Standardäquivalent von Unicode 1.1.

Der GBK- Zeichensatz wurde 1993 als Erweiterung von GB2312 -80 definiert, wobei er auch die Zeichen von GB13000.1-93 durch die in GB2312 verfügbaren ungenutzten Codepunkte umfasst. Daher ist GBK abwärtskompatibel mit GB2312.

Microsoft hat GBK in Windows 95 und Windows NT 3.51 als Codepage 936 implementiert . Obwohl GBK nie ein offizieller Standard war, führte die weit verbreitete Verwendung von Windows 95 dazu, dass GBK zum De-facto- Standard wurde. Während GBK alle in Unicode 1.1 und GB13000.1-93 definierten chinesischen Zeichen enthielt, verwendeten diese Standards unterschiedliche Codetabellen. Der Hauptgrund für seine Existenz war einfach, die Lücke zwischen GB2312-80 und GB13000.1-93 zu schließen.

Im Jahr 1995 legte das China National Information Technology Standardization Technical Committee die Chinese Internal Code Extension Specification ( Chinesisch :汉字内码扩展规范 (GBK) ; pinyin : Hànzì Nèimǎ Kuòzhǎn Guīfàn (GBK) ), Version 1.0, bekannt als GBK 1.0 , fest ist eine geringfügige Erweiterung von Codepage 936. Die neu hinzugefügten 95 Zeichen wurden in GB 13000.1-1993 nicht gefunden und wurden vorläufig Unicode- PUA- Codepunkten zugewiesen .

Später fügte Microsoft der Codepage 936 das Eurozeichen hinzu und ordnete ihm den Code 0x80 zu. Dies ist kein gültiger Codepunkt in GBK 1.0.

Im Jahr 2000 wurde der GB18030-2000- Standard veröffentlicht, der die Kompatibilität mit GBK 1.0 ersetzte und dennoch aufrechterhielt. Es erhöhte die Anzahl der Definitionen chinesischer Zeichen und erweiterte die Anzahl der möglichen Zeichen durch die Implementierung von Vier-Byte-Zeichenräumen. Die Teilmenge von GB 18030, die aus Ein- und Zwei-Byte-Zeichen besteht, wird manchmal auch als GBK bezeichnet . Die Zuordnung zu Unicode wurde jedoch leicht geändert, da einige Zeichen jetzt in Unicode definiert sind. In der aktuellsten Form des Standards, GB 18030-2005, werden nur noch 24 Zeichen auf Unicode-PUA abgebildet (siehe GB 18030#PUA .)

2002 wurde GBK als IANA-Zeichensatz registriert; die Registrierung verwendet Codepage 936- Mapping sowie CP936/MS936-Aliasnamen, bezieht sich jedoch auf die GBK 1.0-Spezifikation.Die im Jahr 2015 veröffentlichte technische Empfehlung des W3C definiert einen GBK- Encoder als GB 18030-Encoder mit einem Einzelbyte-Eurozeichen und ohne Vier-Byte-Sequenzen (während die GBK- Decoderspezifikation des W3C keine solche Einschränkung hat, dekodiert er als GB 18030 , dh mit dem gleichen Bereich Buchstaben wie alle Unicode ).

Codierung

Ein Zeichen wird als 1 oder 2 Byte codiert. Ein Byte im Bereich 007Fist ein einzelnes Byte, das dasselbe wie in ASCII bedeutet . Genau genommen gibt es in diesem Bereich 95 Zeichen und 33 Steuercodes.

Ein Byte mit gesetztem High-Bit zeigt an, dass es das erste von 2 Bytes ist. Grob gesagt liegt das erste Byte im Bereich 81FE(also nie 80oder FF) und das zweite Byte 40A0außer 7Ffür einige Bereiche und A1FEfür andere.

Genauer gesagt sind die folgenden Bytebereiche definiert:

GBK-Kodierungsbereiche
Bereich Byte 1 Byte 2 Codepunkte Zeichen
GB 18030 GBK 1.0 Codepage 936 GB 2312
Stufe GBK/1 A1A9 A1FE 846 718 717 715 682
Stufe GBK/2 B0F7 A1FE 6.768 6.763 6.763 6.763
Stufe GBK/3 81A0 40FEaußer7F 6.080 6.080 6.080
Stufe GBK/4 AAFE 40A0außer7F 8.160 8.160 8.080
Stufe GBK/5 A8A9 40A0außer7F 192 166 153
benutzerdefiniert 1 AAAF A1FE 564
benutzerdefiniert 2 F8FE A1FE 658
benutzerdefiniert 3 A1A7 40A0außer7F 672
gesamt: 23.940 21.887 21.886 21.791 7.445

Layout-Diagramm

In grafischer Form zeigt die folgende Abbildung den Speicherplatz aller 64K möglichen 2-Byte-Codes. Grüne und gelbe Bereiche sind mit GBK-Codepoints belegt, rote für benutzerdefinierte Zeichen. Die ungefärbten Bereiche sind ungültige Bytekombinationen.

GBK-Kodierung.svg

Beziehung zu anderen Kodierungen

Die im vorherigen Abschnitt als GBK/1 und GBK/2 bezeichneten Gebiete sind für sich genommen einfach GB2312-80 in ihrer üblichen Codierung, wobei GBK/1 die Nicht-Hanzi-Region und GBK/2 die Hanzi-Region ist. GB2312, oder besser die EUC-CN-Codierung davon, nimmt ein Bytepaar aus dem Bereich A1FE, wie jeder 94² ISO-2022-Zeichensatz, der in GR geladen wird. Dies entspricht dem unteren rechten Viertel der obigen Abbildung. Allerdings weist GB2312 den Reihen bei AAB0und F8– keine Codepunkte zu FE, obwohl das Gebiet abgesteckt wurde. GBK hat diesen Zeilen Erweiterungen hinzugefügt. Sie sehen, dass die beiden Lücken mit benutzerdefinierten Bereichen ausgefüllt wurden.

Noch wichtiger ist, dass GBK den Bereich der Bytes erweitert hat. Die Verwendung von Zwei-Byte-Zeichen im ISO-2022-GR-Bereich ergibt eine Grenze von 94² = 8.836 Möglichkeiten. Wenn man das ISO-2022-Modell der strengen Regionen für Grafiken und Steuerzeichen aufgibt, aber die Funktion von Low-Bytes als 1-Byte-Zeichen und Paaren von High-Bytes, die ein Zeichen bezeichnen, beibehalten, könnten Sie möglicherweise 128² = 16.384 Positionen haben. GBK nimmt daran teil und erweitert den Bereich von A1FE(94 Auswahlmöglichkeiten für jedes Byte) auf 81FE(126 Auswahlmöglichkeiten) für das erste Byte und 40FE(191 Auswahlmöglichkeiten) für das zweite Byte auf insgesamt 24.066 Stellen.

Die Codepage 936 von Microsoft wird allgemein als GBK angesehen. Die 95 PUA-Zeichen, die in GBK 1.0 hinzugefügt wurden, sind jedoch nicht in Codepage 936 enthalten. Codepage 936 hat auch ein Einzelbyte- Eurozeichen bei 0x80, das GBK 1.0 nicht hat.

Der Nachfolger von GBK, GB18030 -2000, nutzt den verfügbaren Restbereich bis zum zweiten Byte ( 3039), um die Anzahl der Möglichkeiten weiter zu erweitern, während GBK als Teilmenge beibehalten wird.

Verweise

Anmerkungen

Externe Links

  • Maßgebendes GBK-Mapping der Intensivstation – Teil der GB18030-Daten
  • Microsoft-Referenzseite für GBK
  • Zuordnung von GBK zu Unicode Hinweis: Dies ist die Microsoft-Codepage 936, die Einträge für 21791 Doppelbyte-Codepunkte, 96 Einzelbyte-Grafikzeichen und 33 Steuerzeichen enthält. Dies ist nicht genau dasselbe wie GBK mit 21886 Zeichen.
  • GBK- Codetabelle Hinweis: Diese gbk-codierte Seite zeigt den verfügbaren Codierraum mit Ausnahme von 2 Stellen vollständig ausgefüllt für insgesamt 32256 Glyphen (32352 mit den implizierten Einzelbyte-ASCII-Codes nicht abgebildet), das sind mehr als 23940 oder 21886. Aktuell Die Darstellung dieser Tabelle hängt vom GBK-Decoder Ihres Browsers ab.