Les jeux de caractères
Un jeu de caractères, également appelé alphabet, est l'ensemble fermé et ordonné des caractères utilisés par un langage. Fermé signifie que l'on ne peut ajouter d'autres éléments à l'ensemble. L'ensemble est ordonné car les caractères peuvent être énumérés dans un ordre constant. Chaque caractère entretient avec les autres caractères une relation d'ordre, appelée ordre lexicographique, qui détermine s'il vient avant ou après un autre caractère dans l'alphabet.
Les microordinateurs utilisent régulièrement plusieurs jeux de caractères selon le type d'application. Tous les jeux de caractères sont basés sur le code ASCII ou American Standard Code for Information Interchange, créé en 1963.
Un code établit une correspondance entre les symboles d'un alphabet et des nombres entiers et définit de cette manière l'ordre de cet alphabet. Le code ASCII est un code à 7 moments ou 7 bits. Cela signifie qu'il utilise les entiers pouvant être représentés avec 7 bits, soit 27 = 128. Le code ASCII permet donc de coder 128 caractères. Ces 128 caractères se répartissent comme suit :
La raison pour laquelle seuls 7 des 8 bits d'un octet étaient utilisés, est que le 8ème bit servait de bit de contrôle lors des transmissions de données. Ce n'est que plus tard que se généralisa l'usage de codes à 8 moments.
- 32 caractères de contrôle
- 26 lettres majuscules
- 26 lettres minuscules
- 10 chiffres
- 34 signes de ponctuation, symboles mathématiques et monétaires.
Il n'y a donc pas de place dans ce jeu de caractères pour coder les symboles diacritiques (caractères accentués, cédilles, points, ronds, ...).
| Position | Caractère | Position | Caractère | Position | Caractère |
|---|---|---|---|---|---|
| 32 | 64 | @ | 96 | ` | |
| 33 | ! | 65 | A | 97 | a |
| 34 | " | 66 | B | 98 | b |
| 35 | # | 67 | C | 99 | c |
| 36 | $ | 68 | D | 100 | d |
| 37 | % | 69 | E | 101 | e |
| 38 | & | 70 | F | 102 | f |
| 39 | ' | 71 | G | 103 | g |
| 40 | ( | 72 | H | 104 | h |
| 41 | ) | 73 | I | 105 | i |
| 42 | * | 74 | J | 106 | j |
| 43 | + | 75 | K | 107 | k |
| 44 | , | 76 | L | 108 | l |
| 45 | - | 77 | M | 109 | m |
| 46 | . | 78 | N | 110 | n |
| 47 | / | 79 | O | 111 | o |
| 48 | 0 | 80 | P | 112 | p |
| 49 | 1 | 81 | Q | 113 | q |
| 50 | 2 | 82 | R | 114 | r |
| 51 | 3 | 83 | S | 115 | s |
| 52 | 4 | 84 | T | 116 | t |
| 53 | 5 | 85 | U | 117 | u |
| 54 | 6 | 86 | V | 118 | v |
| 55 | 7 | 87 | W | 119 | w |
| 56 | 8 | 88 | X | 120 | x |
| 57 | 9 | 89 | Y | 121 | y |
| 58 | : | 90 | Z | 122 | z |
| 59 | ; | 91 | [ | 123 | { |
| 60 | < | 92 | \ | 124 | | |
| 61 | = | 93 | ] | 125 | } |
| 62 | > | 94 | ^ | 126 | ~ |
| 63 | ? | 95 | _ | 127 |
Normalisé aux USA sous la norme ANSI X3.4, (American National Standards Institute) le code ASCII fut adopté par l'ISO (ang. International Standards Organization) en 1972 sous la norme ISO-646 . Bien que ne supportant pas encore les caractères accentués, cette norme présentait déjà des variantes nationales. Par exemple :
| Decimal | Hex | ASCII | DE | DK/NO | GB | SE | YU |
| 35 | 23 | # | # | # | £ | # | # |
| 123 | 7B | { | ä | æ | { | ä | s |
| 124 | 7C | | | ö | ø | | | ö | đ |
| 125 | 7D | } | ü | å | } | å | ć |
| 126 | 7E | ~ | ß | ~ | ~ | ~ | č |
Dès que l'utilisation d'un code à 8 moments (8 bits = 28 = 256 caractères), la norme ISO-646 fut remplacée par l'ISO-8859.