GB 18030

GB18030 est une norme définissant le jeu de caractères officiel de la république populaire de Chine (RPC).

Historique

Ce jeu de caractères a été publié sous l’appellation officielle « Chinese National Standard GB 18030-2000: Information Technology — Chinese ideograms coded character set for information interchange — Extension for the basic set ». GB est l'abréviation de Guójiā Biāozhǔn (国家标准), qui signifie standard national en chinois.

Le standard a été publié par China Standard Press de Pékin (capitale de la république populaire de Chine) le et mis à jour le . Au , le support pour ce jeu de caractères est officiellement (en RPC) obligatoire pour tous les logiciels vendus à un client final de RPC.

La dernière révision, « Chinese National Standard GB 18030-2005: Information technology  —  Chinese coded character set » a été publiée par China Standard Press le . Seule la version de 2000 est obligatoire pour la certification de conformité GB 18030 auprès de la Chinese Electronics Standardization Institute (CESI)[1],[2].

Description

GB18030 peut être considéré comme un format de transport d’Unicode (UTF) (c’est-à-dire un codage de tous les points de code Unicode) qui maintient la compatibilité avec les jeux de caractères anciens (patrimoniaux). En d'autres termes, il s’agit d'un équivalent chinois de l’UTF-8 (qui maintient la compatibilité avec l’ASCII). Comme l’UTF-8, le GB18030 est un surensemble de l’ASCII et peut représenter la plage de valeur entière des points de code Unicode. En raison de son équivalence avec Unicode, le GB18030 supporte les caractères tant du chinois simplifié que du chinois traditionnel.

Le GB18030 conserve également la compatibilité avec GBK (à l’exception du symbole euro qui est codé sur un seul octet de 0x80 dans la dernière version GBK de Microsoft et un code de deux octets, A2 E3, en GB18030), qui était le standard de caractères préexistant en république populaire de Chine, dans le but de simplifier la mise à jour des données et des logiciels pour utiliser GB18030. Des parties des données mappées viennent d’une table de recherche (comme dans GBK). Le reste est calculé algorithmiquement. Il hérite également des mauvais aspects des standards legacy (anciens) sur lesquels il est basé (en particulier, un algorithme spécial est nécessaire pour rechercher des caractères ASCII dans des séquences GB18030).

Beaucoup de sociétés de développement logiciel ont déjà standardisé sur la base d'une version donnée d’Unicode le format de représentation interne de leurs données et appels systèmes. Cependant, la plupart ne supportent que les points de code du PMB originellement définis dans la version Unicode 1.0, qui ne supportait que 65536 positions de code et était souvent codée sur 16 bits comme UCS-2.

Dans un changement d’importance historique pour les logiciels conformes à Unicode, la république populaire de Chine a décidé d'exiger le support de certains points de code en dehors du PMB. Cela signifie que le logiciel ne peut plus continuer à supposer que tous les caractères sont des entités d’une taille fixe de 16 bits (UCS-2). En conséquence, ils doivent soit traiter les données avec des caractères de taille variable (comme UTF-8 ou UTF-16), qui sont les choix les plus communs, soit choisir une largeur fixe plus grande (telle que UCS-4 ou UTF-32). Microsoft a réalisé la migration depuis UCS-2 vers UTF-16 avec Windows 2000.

La police de caractères SimSun 18030 permet l’affichage des caractères GB 18030, qui reprend tous les caractères d’Unicode 2.1 plus de nouveaux caractères qui se trouvent dans le bloc Unicode Supplément A aux idéogrammes unifiés CJC[3].

Détails techniques

Le schéma de 4 octets peut être pensé comme composé de deux unités, chacune de deux octets. Chaque unité a un format similaire à un caractère GBK de deux octets mais avec une plage de valeur pour le deuxième octet de 0x30-0x39 (codes ASCII des chiffres décimaux). Le premier octet est dans la plage 0x81 à 0xFE, comme auparavant. Cela signifie qu’une routine de recherche de caractère sûre pour GBK devrait également être sûre pour GB18030 (de la même manière qu’une recherche orientée octet est raisonnablement sûre pour le EUC).

Cela donne un total de 1 587 600 (126 × 10 × 126 × 10) séquences de 4 octets possibles, qui est pour le moment suffisant pour couvrir les 1 114 112 (17 × 65 536) code points d’Unicode.

Le sujet se complique du fait qu’il n’existe pas de règle simple pour convertir les séquences de 4 octets dans leur point de code correspondant. En fait, ces numéros sont alloués de façon séquentielle et gros-boutiste (big-endian) seulement vers les code points Unicode qui ne sont pas mappés d'une quelconque autre manière. Par exemple :


U+00DE (Þ) → 81 30 89 37
U+00DF (ß) → 81 30 89 38
U+00E0 (à) → A8 A4
U+00E1 (á) → A8 A2
U+00E2 (â) → 81 30 89 39
U+00E3 (ã) → 81 30 8A 30

Références

  1. CESI
  2. International Consulting LLC
  3. Unicode Supplément A aux idéogrammes unifiés CJC

Bibliographie

  • (en) International Consulting LLC, GB18030 White Paper, (lire en ligne)

Voir aussi

Articles connexes

Liens externes

  • (en) IANA Charset Registration for GB18030
  • (en) English language summary of GB 18030-2000
  • (en) Introduction to GB18030 including evolution from GB2312 and GBK
  • (en) Authoritative mapping table between GB18030 and Unicode (Fichier XML de grande taille. Seems to hang firefox!).
  • (en) ICU Converter Explorer: GB18030
  • (fr) Supplément A aux idéogrammes unifiés CJC [PDF] (1,5 Mio)
  • (fr) Supplément B aux idéogrammes unifiés CJC [PDF] (13 Mio)
  • (en) GB18030 Support Package for Windows 2000/XP, incluant le chinois, le tibétain, le yi, le mongol et le thaï, Microsoft
  • (en) Polices gratuites éditeurs et documentation du SIL
  • (zh) « GB 18030标准符合性认证问与答 », sur CESI (consulté le )
v · m
Jeux de caractères de base Logo d'Unicode
Codification de fichiers et protocoles
Adaptations de référence
Équivalences standards
  • NFC (forme précomposée, recommandée)
  • NFD (forme décomposée)
  • NFKC (forme précomposée de compatibilité)
  • NFKD (forme décomposée de compatibilité)
Propriétés et algorithmes
Transformations
Standards et normes liés
  • BCP 47 (étiquettes IETF d’identification de langues)
  • ISO 639 (codes pour la représentation des noms de langues ou groupes de langues)
  • ISO 15924 (codes pour la représentation des noms d’écritures)
  • ISO 3166-1 (codes pour la représentation des noms de pays ou régions du monde)
  • ISO 4217 (codes pour la représentation des noms de devises monétaires)
Mises en œuvre et applications
v · m
Jeux de caractères codés
Multi-octets
Unicode
Asiatiques
Ancienne encodeuse de texte sur ruban perforé
8 bits
ISO/CEI 8859
  • -1 (Latin-1)
  • -2 (Latin-2)
  • -3 (Latin-3)
  • -4 (Latin-4)
  • -5 (Cyrillique)
  • -6 (Arabe)
  • -7 (Grec)
  • -8 (Hébreu)
  • -9 (Latin-5)
  • -10 (Latin-6)
  • -11 (Thaï)
  • -12 (Devanagari)
  • -13 (Latin-7)
  • -14 (Latin-8)
  • -15 (Latin-9)
  • -16 (Latin-10)
Pages de code Windows
Pages de code Mac OS MacRoman
Pages de code DOS
  • 437
  • 720
  • 737
  • 775
  • 850
  • 852
  • 855
  • 857
  • 858
  • 860
  • 861
  • 862
  • 863
  • 864
  • 865
  • 866
  • 869
  • Kamenický
  • Mazovia
  • MIK
  • Iran System
Pages de code diverses
  • ANSEL
  • DEC-MCS
  • KOI8-R (russe)
  • KOI8-U (ukrainien)
  • StandardEncoding (PostScript)
  • Page de code vidéotex
  • Page de code ZX Spectrum
  • Page de code Amstrad CPC
  • Page de code Atari ST
  • Page de code Amiga
Non basés sur ISO/IEC 646
7 bits
Moins de 7 bits
  • icône décorative Portail d’Internet
  • icône décorative Portail de la Chine