Le code ASCII et les pages Internet

L'histoire de la norme ASCII

Les premier ordinateurs personnels (PC) utilisaient huit bits pour l'affichage des caractères dont les premiers 128 caractères ASCII correspondaient déjà à la norme actuelle et permettait l'affichage de tous les caractères nécessaires dans l'Américain. L'affichage des autres 128 caractères du code ASCII pouvaient être définis par les fabricants des ordinateurs et permettaient donc l'affichage des caractères spéciaux assez variés. On parlait à l'époque du ASCII étendu.
 
Le problème à l'époque était donc que seulement les premiers 128 caractères étaient sûrs mais les autres s'affichaient différemment dans les divers systèmes d'exploitation et ne pouvaient pas être employés sur Internet.

Le code ASCII étendu et Windows

Le système d'exploitation Windows utilisait jusqu'à la version Windows 95 le set de caractères ANSI, ce qui permettait également, à cause de l'utilisation de huit bits, l'affichage de 256 caractères différentes. Les premières 128 caractères correspondaient également à la norme ASCII et les autres s'affichaient de la manière identique dans les ordinateurs qui avaient installé Windows.
 
Le tableau des caractères ANSI était donc bien pratique pour rédiger de lettres avec quelques caractères spéciaux mais était également mal adapté aux besoins de l'Internet. Les versions récentes de Windows emploient donc, dans une certaine limite, les caractères de la norme Unicode.

La norme ASCII sur Internet

Le code ASCII d'aujourd'hui se base seulement sur les valeurs numériques de sept bits, ce qui permet l'affichage complet de 128 caractères qui suffissent pour chaque document en Américain ou Anglais. Comme les ordinateurs utilisent aussi la valeur 0 on devrai donc dire que la norme ASCII est capable à présenter le caractère 0 à 127.
 
Ces caractères, aussi appelé character set, s'affichent partout dans le monde de la manière identique et n'ont pas besoin d'être codés.

Le code ASCII et le clavier de l'ordinateur

Chaque clavier est adapté au pays où, en règle générale, l'ordinateur a été acheté et le set de caractères qui sont liés à ce clavier dépend, sauf modifications, de la langue du système d'exploitation. Mais si on calcule le nombre de possibilités que le clavier offre on se rende compte qu'un clavier normal ne permet pas l'utilisation de 128 caractères définis par la norme ASCII. Le Webmaster a donc besoin de coder les caractères manquants pour qu'ils soient affichés sur l'écran des Internautes.
 
La première limite n'est donc pas le code ASCII mais plutôt la quantité de touches sur un clavier.

La norme ASCII et la programmation

De nombreux caractères ASCII font partie des langages Web, surtout si un Webmaster crée de sites dynamiques à l'aide de langages script. Chaque caractère, code ASCII ou non, qui fait donc partie d'une balise ou de scripts a besoin d'un traitement spécial. En HTML ou xhtml il suffit à coder les caractères correspondants et les langages script ont besoin de caractères supplémentaires qui permettent l'affichage de quelques caractères standard ASCII.

Les caractères ASCII et les langues du monde

Vu que la norme ASCII ne permet pas l'affichage des caractères qui n'existent pas dans les langues anglophones il est logique que les Webmasters qui publient de pages en Français, Espagnol, Russe ou n'importe quelle autre langue qui utilise de caractères qui n'existent pas en Anglais, ont besoin d'un autre norme qui dépasse les limites du ASCII.
 
Il y a deux solutions qui se proposent aux programmeurs du Web. Ils peuvent employer une ou plusieurs sets de caractères des normes ISO dans le head de leurs pages Web ou ils utilisent les caractères de la norme Unicode. Ces méthodes permettent l'affichage de 256, respectivement de 137468 caractères différents
 
Les liens suivants proposent des explications supplémentaires sur le code ASCII :
Code américain normalisé pour l'échange d'information
Table ASCII : description, hexadécimal, décimal, octal, binaire
A Brief History of Character Codes
What is ASCII?
What is ASCII, the American Standard Code for Information Interchange