UTF-8/fr

From Lazarus wiki
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

English (en) suomi (fi) français (fr) русский (ru)

UTF-8 (8-bits UCS/Unicode Transformation Format) est un encodage des caractères en longueur variable pour l'Unicode. Les caractères Unicode allant de U+0000 à U+007F sont encodés simplement comme les octets correspondants de 00h à 7Fh. Cela signifie que les fichiers et les chaînes qui contiennent seulement des caractères ASCII 7-bits ont le même encodage à la fois en ASCII et en UTF-8.

Tous les caractères > U+007F sont encodés comme une séquence de plusieurs octets, dont chacun a les 2 bits les plus significatifs de mis. Aucune séquence d'octets d'un caractère n'est contenue dans une séquence d'octets plus longue d'un autre caractère. Cela permet des recherches rapides de sous-chaînes. Le premier octet d'une séquence multi-octet qui représente un caractère non ASCII est toujours dans l'intervalle de C0h à FDh et il indique combien d'octets suivent pour ce caractère. Tous les autres octets de la séquence multi-octet sont dans l'intervalle 80h à BFh. Cela permet des resynchronisations rapides et de la robustesse.

Séquence d'octets UTF-8
  Points de code 1er byte 2ème byte 3ème byte 4ème byte Bit le plus significatif du 1er octet d'une séquence multi-octet
  U+0000..U+007F   00..7F   0   ASCII  
  U+0080..U+07FF   C2..DF   80..BF   110   - Caractères UTF-8 Latin
 
  U+0800..U+0FFF   E0   A0..BF   80..BF   1110
  U+1000..U+FFFF   E1..EF   80..BF   80..BF   1110
  U+10000..U+3FFFF   F0   90..BF   80..BF   80..BF   11110
  U+40000..U+FFFFF   F1..F3   80..BF   80..BF   80..BF   11110
  U+100000..U+10FFFF   F4   80..BF   80..BF   80..BF   11110

Fonctions UTF8

FreePascal

L'unité System contient quelques fonctions basiques:

  • UnicodeToUtf8
  • Utf8ToUnicode
  • UTF8Encode
  • UTF8Decode
  • AnsiToUtf8
  • Utf8ToAnsi

Lazarus

Lazarus contient aussi des fonctions UTF8. Pour plus de détail, voir LCL Unicode Support

Voir aussi