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.
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), 佳佳, 零壹 (Zero One) et 大眾 (FIC), qui ont collaboré à l'élaboration de ce code.
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 :
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.
Dans le Big5 originel, la table de code était séparé 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.