Codage des kanji - Dictionnaire des kanji japonais
Transcription
Codage des kanji - Dictionnaire des kanji japonais
Dictionnaire des kanji japonais – http://kanji.free.fr Codage des kanji 1 - Codage informatique Certains langues notamment d'origine latine ont l'avantage de posséder un nombre restreint de symboles grâce à leur système alphabétique. Pour celles-ci, un encodage de type ASCII est largement suffisant. Cependant, les langues à base d'idéogrammes que sont le chinois ou le japonais nécessitent à l'inverse plusieurs milliers de symboles. L'encodage ASCII avec ses 256 symboles ne suffit alors plus, et l'on a besoin de recourir à d'autres types d'encodages. En ce qui concerne le japonais, il en existe plusieurs : 1.1 - JIS (Japanese Industrial Standards) Le groupe JIS n'est ni plus ni moins que l'équivalent japonais de l'organisme américain ANSI (American National Standards Institute). Le terme JIS est également utilisé pour identifier leur standard de codage. Il s'agit d'un codage des caractères sur 2 x 7 bits permettant d'inclure à la fois des caractères japonais et du texte ASCII standard. Pour basculer aisément entre les deux types de texte, il a été mis en place un système de deux séquences d'échappement, la première indique le début de l'encodage du japonais tandis que la dernière en indique la fin. En réalité, l'encodage JIS n'est pas uniforme car il en existe plusieurs variantes qui se distinguent en grande partie par leurs séquences d'échappement. En effet, les caractères qui les composent varient légèrement selon les versions. Voici un tableau récapitulant les différentes séquences en fonction des encodages JIS (Le caractère ESC correspond au caractère d'échappement qui a pour valeur ASCII 27). Encodage Début du japonais Fin du japonais New-JIS ESC $ B ESC ( J Old-JIS ESC $ @ ESC ( J JIS NEC ESC K ESC H Par exemple, pour encoder en New-JIS la chaîne suivante : "Japon 日本", on utilisera les caractères suivants : Chaîne Encodage JIS J a p o 日 n 本 Caractères ASCII Séquence d'échappement Caractères JIS Séquence d'échappement 74 97 112 111 110 32 ESC $ B 46 7C 4B 5C ESC ( J Codage des kanji – page 1/4 Dictionnaire des kanji japonais – http://kanji.free.fr 1.2 - EUC (Extended Unix Code) Le code EUC est un codage dérivé du JIS. La différence vient du fait qu'il n'utilise pas de séquences d'échappement pour basculer entre le texte ASCII standard et le texte japonais. En contre-partie, les caractères japonais sont encodés en prenant son code JIS mais avec le 8ème bit positionné à 1. Les autres caractères qui ont leur 8ème bit placé à 0 sont considéré comme du texte ASCII standard. Par exemple, la chaîne "Japon 日本" encodée en EUC donnera : Chaîne Encodage EUC J a p o n Caractères ASCII Caractères EUC 74 97 112 111 110 32 C6 FC CB DC 1.3 - Shift-JIS Il s'agit d'un autre système d'encodage conçu par Microsoft. A l'instar de l'encodage EUC, il n'emploie pas de séquences d'échappement mais utilise le 8ème bit pour distinguer les deux types de caractères. Seulement, l'encodage des caractères proprement dit se fait sur une autre base que celle employée pour le code JIS et EUC. 1.4 - UNICODE Unicode est un autre système d'encodage multilangues développé par le consortium du même nom (en anglais Unicode Consortium). Cet encodage qui n'est pas spécifiquement destiné à encoder le japonais commence à être de plus en plus utilisé et tend à s'imposer comme un standard même si les japonais eux-mêmes ne l'utilisent pas beaucoup. Il présente pour nous européens plusieurs avantages. Grâce à son support multilangue, nos signes diacritiques (lettre accentuées, cédilles) peuvent ainsi cohabiter aisément avec les caractères japonais contrairement aux autres codes décris plus haut.. 1.5 - UTF-8 Unicode ne peut pas être utilisé directement pour l'encodage d'un texte. C'est pourquoi, on doit se tourner vers une de ses variantes dont la plus courante est l'UTF-8. Celle-ci offre un encodage variable selon le type de caractère ce qui permet une optimisation de la taille du document encodé. Les caractères européens sont encodés normalement en utilisant leur valeur ASCII, tandis que les caractères japonais utiliseront un encodage sur 3 octets issu de leur code Unicode (sur 2 octets). Maintenant, comment se fait la transformation du code Unicode d'un caractère vers son code UTF-8 ? Voici un petit tableau qui récapitule les deux méthodes de transformation selon le type de caractères. On suppose qu'un caractère ASCII comporte les 7 bits suivants (1 octet) xxxxxxx et qu'un caractère japonais comporte les 16 bits suivants (2 octets) yyyyyyyy yyyyyyyy : Types de caractère Nb d'octets ASCII standard 1 octet (7 bits) Représentation UTF-8 0xxxxxxx Caractère japonais 2 octets (16 bits) 1110yyyy 10yyyyyyy 10yyyyyy Codage des kanji – page 2/4 Dictionnaire des kanji japonais – http://kanji.free.fr Prenons un exemple : considérons le caractère japonais suivant : 身, celui-ci a pour code Unicode 8EAB ce qui nous donne en binaire : 1000 1110 1010 1011. Pour nous faciliter un peu les choses, on regroupe ses bits par paquet de 4, 6 et 6 bits, ce qui nous donne : 1000 111010 101011. Maintenant, il suffit juste de faire la substitution avec le modèle de représentation sur 3 octets, ce qui donnera 11101000 10111010 10101011 soit en hexadécimal : E8BAAB. 2 - Le code SKIP Le code SKIP, créé par Jack Halpern, est un système de codage très pratique qui permet de retrouver n'importe quel kanji sans en connaître la prononciation, ni la clé mais juste en considérant son aspect visuel. Ce code est composé de 3 nombres séparés par des tirets comme par exemple : 1-5-2, 3-4-11, ... Cette méthode nécessite néanmoins la connaissance des règles de tracé des kanji : Le premier des 3 nombres décrit l'aspect visuel du kanji. Il existe 4 cas possibles : 2.1 - 1er cas Le kanji présente deux parties distinctes, une partie gauche et partie droite : Les kanji répondant à cette configuration auront un code SKIP au format suivant : 1-X-Y où X sera le nombre de traits contenus dans la partie A et Y le nombre de traits dans la partie B. Par exemple : Le kanji 校 présente une partie gauche 木 et une partie droite 交 or, 木 comporte 4 traits et 交 comporte 6 traits, par conséquent, son code SKIP sera : 1-4-6 2.2 - 2ème cas Le kanji présente une partie supérieure et partie inférieure : Ces kanji auront un code SKIP au format suivant : 2-X-Y où X sera le nombre de traits contenus dans la partie A et Y le nombre de traits dans la partie B. Par exemple : Le kanji 思 présente une partie supérieure 田 et une partie inférieure 心 or, 田 comporte 5 traits et 心 comporte 4 traits, par conséquent, son code SKIP sera : 2-5-4 2.3 - 3ème cas Le kanji présente une partie englobante et une partie intérieure : Codage des kanji – page 3/4 Dictionnaire des kanji japonais – http://kanji.free.fr Ces kanji auront un code SKIP au format suivant : 3-X-Y où X sera le nombre de traits contenus dans la partie A et Y le nombre de traits dans la partie B. Par exemple : Le kanji 聞 présente une partie englobante 門 et une partie intérieure 耳 or, 門 comporte 8 traits et 耳 comporte 6 traits, par conséquent, son code SKIP sera : 3-8-6 2.4 - 4ème et dernier cas Ce dernier cas concerne les kanji qui ne possèdent aucune des structures décrites précédemment. Dans ce cas, il existe 4 autres catégories : • • • • Le kanji présente un trait horizontal supérieur. Il sera noté de la façon suivante : 4-X-1 où X est le nombre total de traits du kanji. Par exemple : 下 死 4-3-1 4-6-1 Le kanji présente un trait horizontal inférieur. Il sera noté de la façon suivante : 4-X-2 où X est le nombre total de traits du kanji. Par exemple : 土 重 4-3-2 4-9-2 Le kanji présente un trait vertical central. Il sera noté de la façon suivante : 4-X-3 où X est le nombre total de traits du kanji. Par exemple : 中 本 4-4-3 4-5-3 Le kanji n'appartient à aucune de ces catégories. Il sera noté alors : 4-X-4 où X est le nombre total de traits du kanji. Par exemple : 女 火 4-3-4 4-4-4 Codage des kanji – page 4/4