# Big5

Big5 ou Big-5 est une méthode de codage de caractères, principalement utilisée à Taïwan et à Hong Kong, permettant de saisir les caractères chinois traditionnels. Son équivalent pour les caractères chinois simplifiés est le codage GB, utilisé en République populaire de Chine.

## Nom

Le nom chinois Big5 五大碼 (pinyin : wǔdàmǎ) signifie « Codage des Cinq Grands ». Ce nom fait référence au but originel de supporter les cinq principaux paquetages utilisés à Taïwan à cette époque, ou aux cinq principales compagnies informatiques à Taïwan : Acer 宏碁, MiTAC 神通, JiaJia 佳佳, Zero One 零壹 et FIC 大眾, qui ont collaboré à l'élaboration de ce code.

## Histoire

La méthode d'encodage Big5 a été défini par l'Institut de l’Information Industrielle de Taïwan (財團法人資訊工業策進會) en 1984. D'après certaines sources, le codage Big5 fut popularisé par son adoption dans différents paquetages commerciaux, et tout particulièrement, par le système chinois ET qui fonctionnait sous MS-DOS.
Le gouvernement de la République de Chine le déclare comme son standard au milieu des années 1980 alors que Big5 était déjà un standard de fait.
Hong Kong a aussi adopté le codage de caractères Big5. Cependant, le cantonais, langue officielle de cette région, utilise beaucoup de caractères chinois archaïques qui ne sont pas disponibles dans ce jeu de caractères. Pour régler ce problème, le gouvernement de Hong Kong créa l'extension « Government Chinese Character Set » en 1995 puis « Hong Kong Supplementary Character Set » (HKSCS) en 1999. Les extensions de Hong Kong sont distribuées habituellement sous forme de patch.

## Structure
### Principes

La table de caractères originale Big5 est classée premièrement par la fréquence d'usage, puis par le nombre de traits et enfin par les radicaux Kangxi.
Dans ce premier jeu de caractères, il y manquait des sinogrammes pourtant fréquemment utilisés. C'est pourquoi, chaque fournisseur développa sa propre extension. Ainsi, l'extension ETen devint partie intégrante du standard Big5 actuel grâce à sa popularité.
La structure du codage Big5 n'était pas conforme au standard ISO 2022 mais possédait certaines similarités avec le codage Shift_JIS : il s'agit d'un codage à double-octets ayant la structure suivante :
* le premier octet s'étend dans la plage 0xa1-0xfe
* le second octet s'étend dans les plages 0x40-0x7e et 0xa1-0xfe
Certaines variantes du Big5, comme le HKSCS, utilisent une plage étendue pour le premier octet, correspondant aux valeurs situées entre 0x80 et 0xA0 (comme pour le Shift_JIS).
La valeur de chaque code Big5 est le plus souvent représenté par un nombre hexadécimal à 4 chiffres, qui décrit les deux octets du code Big5 de la même manière que la représentation big-endian (ou gros-boutiste). Par exemple, le code Big5 du caractère "五", dont les octets lui correspondant sont 0xa4 0xad, est écrit A4AD.
En théorie, le codage Big5 paraît être exclusivement à double-octets. Dans la pratique, les codes Big5 sont toujours employés avec le codage ASCII (ou autres jeux de caractères en 8 bits). Vous pourrez donc trouver un mélange de codes Big5 et ASCII dans un texte encodé en Big5. Les octets appartenant à la plage 0x00-0x7f, qui ne se retrouvent par dans les codages en double-octets, seront considérés comme étant ASCII.

### Quelques détails

Dans le Big5 originel, la table de code était séparée en plusieurs parties :
| A140-A3BF | "Caractères graphiques" (圖形碼) |
| A3C0-A3FE | Plage réservée aux caractères définis par l'utilisateur (造字) |
| A440-C67E | Caractères chinois fréquents (常用字) |
| C6A1-C8FE | Plage réservée aux caractères définis par l'utilisateur (造字) |
| C940-F9D5 | Caractères chinois moins fréquents (次常用字) |
| F9D6-FEFE | Plage réservée aux caractères définis par l'utilisateur (造字) |
| ↑ Les « caractères graphiques » comprennent en fait les signes de ponctuation, les symboles, les caractères étrangers et autres caractères spéciaux. ||
Dans la plupart des extensions, les caractères ajoutés se trouvaient dans les plages réservées correspondant à la zone précédente : les ponctuations additionnelles étaient mises dans la plage réservée A3C0-A3FE, les caractères additionnels dans la plage C6A1-C8FE ou F9D6-FEFE. Parfois, en raison du nombre trop important de caractères ajoutés, certains groupes n'ont pas pu respecter cette règle comme les lettres cyrilliques et les kana qui se sont retrouvés dans la plage C6A1-C8FE.