3. Le codage des textes - première approche

Les caractères, comme tout le reste, doivent être transformés en séries de bits. Il y a fort longtemps... le codage des caractères se faisait uniquement sur 7 bit et seulement en caractères latins de base. Le code le plus courant sur les PC, et qui finit par s'imposer, fut le code ASCII, mais il y en avait de nombreux autres, concurrents. Autrement dit une même série de bits correspondait à des caractères différents pour des codages différents.

 Symb.  Déc.  Hex.   URI
espace=  32 - 0x20 - %20
    ! =  33 - 0x21 - %21
    " =  34 - 0x22 - %22
    # =  35 - 0x23 - %23
    $ =  36 - 0x24 - %24
    % =  37 - 0x25 - %25
    & =  38 - 0x26 - %26
    ' =  39 - 0x27 - %27
    ( =  40 - 0x28 - %28
    ) =  41 - 0x29 - %29
    * =  42 - 0x2A - %2A
    + =  43 - 0x2B - %2B
    , =  44 - 0x2C - %2C
    - =  45 - 0x2D - %2D
    . =  46 - 0x2E - %2E
    / =  47 - 0x2F - %2F
    0 =  48 - 0x30 - %30
    1 =  49 - 0x31 - %31
    2 =  50 - 0x32 - %32
   ...
    9 =  57 - 0x39 - %39
    : =  58 - 0x3A - %3A
    ; =  59 - 0x3B - %3B
    < =  60 - 0x3C - %3C
    = =  61 - 0x3D - %3D
    > =  62 - 0x3E - %3E
    ? =  63 - 0x3F - %3F
    @ =  64 - 0x40 - %40
    A =  65 - 0x41 - %41
    B =  66 - 0x42 - %42
    C =  67 - 0x43 - %43
   ...
    Z =  90 - 0x5A - %5A
    [ =  91 - 0x5B - %5B
    \ =  92 - 0x5C - %5C
    ] =  93 - 0x5D - %5D
    ^ =  94 - 0x5E - %5E
    _ =  95 - 0x5F - %5F
    ` =  96 - 0x60 - %60
    a =  97 - 0x61 - %61
    b =  98 - 0x62 - %62
    c =  99 - 0x63 - %63
   ...
    z = 122 - 0x7A - %7A
    { = 123 - 0x7B - %7B
    | = 124 - 0x7C - %7C
    } = 125 - 0x7D - %7D
    ~ = 126 - 0x7E - %7E

Avec l'extension de l'utilisation des ordinateurs sur toute la planète, et l'amélioration de la technique, on coda les caractères sur un octet, ce qui permet, théoriquement près de 256 caractères différents. Ceci ne permit pas encore d'avoir dans le même codage les caractères accentués Ouest-européens et les caractères grecs, par exemple. Pour écrire le Français, on utilisait souvent trois codages différents : le codage ISO-latin-1 (ou ISO-8859-1, standard), un codage proche spécifique à Windows (Windows-1252) et un autre spécifique à MacOS (MacRoman).

Ce principe n'était vraiment pas pratique : les documents ou mémoires de masse dans tel ou tel codage n'étaient pas forcément lisibles sur tel autre ordinateur. Certains caractères étaient tout simplement rendus incorrectement. Autre difficulté : quand l'euro a été introduit, il a fallu revoir les encodages... qui ne disposaient toujours pas tous du "o e dans l'o" (œ). La difficulté fut contournée en s'autorisant à coder les caractères sur plusieurs octets avec Unicode. Unicode, régulièrement révisé, norme ISO 10646, a vocation à comprendre tous les jeux de caractères existant ou ayant existé. Unicode correspond, en pratique, à plusieurs codages, dont le plus usuel est UTF-8. C'est aujourd'hui le code à utiliser ; les autres doivent être considérés comme obsolètes. Le code UTF-8 reprend le code ASCII pour les caractères ci-dessus ; les autres caractères étant codés sur plusieurs octets.

Nous verrons plus tard que les standards HTML et XML ont utilisé une autre approche du codage des caractères.