Comment un fichier avec des caractères Chinois connaître le nombre d'octets à utiliser par caractère?

J'ai lu Joël article "Le Minimum Absolu que Tout Développeur Doit Absolument, Positivement Savoir Sur Unicode et les Jeux de Caractères (Pas d'Excuses!)" mais encore ne pas comprendre tous les détails. Un exemple permettra d'illustrer mes questions. Regardez ce fichier ci-dessous:

Comment un fichier avec des caractères Chinois connaître le nombre d'octets à utiliser par caractère?

(source: yart.com.au)

J'ai ouvert le fichier dans un éditeur binaire pour examiner de près la dernière des trois d'un côté du premier caractère Chinois:

Comment un fichier avec des caractères Chinois connaître le nombre d'octets à utiliser par caractère?

(source: yart.com.au)

Selon Joel:

En UTF-8, chaque point de code de 0 à 127 est stocké dans un octet. Seuls les points de code 128 et ci-dessus sont stockées à l'aide de 2, 3, en fait, jusqu'à 6 octets.

Le fait de l'éditeur de dire:

  1. E6 (230) est au-dessus de point de code 128.
  2. Donc je vais interpréter les suivantes octets soit 2, 3, en fait, jusqu'à 6 octets.

Si oui, ce qui indique que l'interprétation est plus que de 2 octets? Comment cela est-il indiqué par les octets qui suivent E6?

Est mon caractère Chinois stockées dans les 2, 3, 4, 5 ou 6 octets?

  • Les deux octets vous l'avez souligné dans votre éditeur hexadécimal sont deux octets de un à trois octets de caractères.
  • Notez que Joel de l'information est un peu hors de date: UTF-8 utilise un maximum de quatre octets par caractère, et non pas six. Il a été initialement conçu pour encoder un potentiel de 2^31 caractères, mais il a été réduit en 2003 de gérer simplement la gamme couverte par l'Unicode définition, U+0000 à U+10FFFF.
InformationsquelleAutor Petras | 2009-04-22