0% ont trouvé ce document utile (0 vote)
1K vues20 pages

Exposé Code

Transféré par

Valentin Berch
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Thèmes abordés

  • caractères de script,
  • Unicode,
  • inconvénients de l'Unicode,
  • caractères mathématiques,
  • caractères de notation mathéma…,
  • problèmes de compatibilité,
  • UTF-32,
  • caractères de hiéroglyphes,
  • caractères de mesure,
  • caractères de poids
0% ont trouvé ce document utile (0 vote)
1K vues20 pages

Exposé Code

Transféré par

Valentin Berch
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Thèmes abordés

  • caractères de script,
  • Unicode,
  • inconvénients de l'Unicode,
  • caractères mathématiques,
  • caractères de notation mathéma…,
  • problèmes de compatibilité,
  • UTF-32,
  • caractères de hiéroglyphes,
  • caractères de mesure,
  • caractères de poids

SOMMAIRE ET PAGE DE GARDE

(À faire)

INTRODUCTION
Afin de pouvoir transmettre ou stocker tous les types de caractères alphanumériques
ou autres, des codes conventionnels ont été établis. Chaque caractère est associé à
son équivalent en code numérique. Il existe de nombreux codes et nous pouvons
citer pour mémoire le code ASCII, l'EBCDIC, L'UNICODE, l'UTF8…Dès lors, comment
trouver le meilleur code a un travail bien précis ? Pour répondre à cette
problématique, notre analyse s’articulera autour de la présentation, les
caractéristiques, les avantages, les limites et leur importance dans le monde de
l’informatique de trois codes à savoir : ASCII, EBCDIC et l’UNICODE.

PRÉSENTATION DU CODE ASCII


Histoire

Vers 1945, lors du développement de la Seconde Guerre mondiale, il était nécessaire


de transmettre des messages en code Morse en toute sécurité. Ce processus a été
considérablement simplifié parce que le «point et le tiret» de celui-ci pouvait
également facilement égaler 1 et 0 des nombres binaires, et pour cela ils ont utilisé
les télégraphes de l’époque.

Définition DU CODE ASCII


ASCII signifie American Standard Code for Information Interchange en français :
Code Américain Standard pour l’Echange d’Informations. Il dispose de 128 codes
ASCII standards, chacun d’entre eux peut être représenté par un nombre binaire codé
sur 7 bits ayant des valeurs comprises entre 0000000 (0) et 1111111 (127). Ces unités
sont divisées en unité de contrôle de code, 33 caractères non imprimables et 95
caractères imprimable contenant toutes les lettres de l’alphabet plus les symboles
utilisés sur notre clavier. Le huitième bit, qui appartient à un octet entier, est
traditionnellement utilisé à des fins de vérification. Les versions étendues basées sur
ASCII utilisent précisément ce bit pour étendre les caractères disponibles à 256.
ASCII est principalement utilisé dans la programmation, la conversion de données, les
arts graphiques et les fichiers texte. La norme ASCII permet ainsi à toutes sortes de
machines de stocker, analyser et communiquer de l'information textuelle. En
particulier, la quasi-totalité des ordinateurs personnels et des stations de travail
utilisent l'encodage ASCII.
La nouvelle version d'ASCII est appelée ASCII étendu. Elle inclut les caractères ASCII
standard avec des caractères supplémentaires.
Le codage ASCII est souvent complété par des correspondances supplémentaires afin
de permettre l'encodage informatique d'autres caractères, comme les caractères
accentués par exemple. Cette norme s'appelle ISO-8859 et se décline par exemple
en ISO-8859-1 lorsqu'elle étend l'ASCII avec les caractères accentués d'Europe
occidentale.
Le code ASCII étendu OEM est celui qui équipait les premières machines de type IBM
PC.
Le code ASCII étendu ANSI, utilisé par les systèmes d’exploitation récents. ANSI est un
jeu de caractères qui utilise 8 bits pour coder un caractère. C’est une extension
Microsoft au code ASCII qui n’utilise que 7 bits par caractère. Dans l’environnement
graphique de Windows, les caractères sont codés en utilisant le code ANSI (American
National Standards Institute).
Cette version peut inclure des graphèmes d’anciennes langues telles que le grec ou
l’hébreu selon les besoins, et dans ces tableaux les informations sont stockées sur 8
bits.

Avantages de l’ASCII

Ce codage permet de représenter les milliers de caractères du répertoire universel.


Un texte en US-ASCII est codé identiquement en UTF-8.
Pour la plupart des langues à écriture latine, les fichiers de données numériques ou les
codes sources de programmes, ou de nombreux protocoles textuels
de communication (comme FTP, HTTP ou MIME), qui utilisent abondamment (voire
parfois exclusivement dans certaines parties) les caractères US-ASCII, UTF-8 nécessite
moins d’octets que l’UTF-16 ou l’UTF-32.
Il s’agit d’un codage auto-synchronisant (en lisant un seul octet on sait si c’est le
premier d’un caractère ou non).

Inconvénients de l’ASCII

Pour encoder les caractères en binaire, 7 bits (2^7= 128) suffisent, toutefois l’ASCII
utilise 8 bits. Le 8e bit permet de définir des caractères numérotés de 128 à 255 mais
la norme ASCII laisse la place vacante à d’autres caractères puisqu’elle ne définit des
caractères que de 0 à 127.
Si on regarde la table ASCII, on se rend compte que les caractères sont:
Des lettres de la langue anglaise et des caractères spéciaux courants.
Il n’y a pas d’autres caractères spécifiques à d’autres langues: é, è, à, ç, etc…
Il ne comporte aucune représentation de lettres dans d'autres langues telles que le
grec et l'arabe, ni de symboles mathématiques.
Transmissions en mode ASCII / Binaire

Il existe deux modes de transmission des fichiers Informatiques: le


mode ASCII et le mode Binaire. Un mauvais choix dans le mode de transmission
peut rendre un fichier inexploitable.
En mode ASCII, le logiciel de transmission adressera le code ASCII de chaque
caractère. Ce mode est particulièrement destiné à la transmission des fichiers
dits "texte" (HTML, sources, scripts).
En mode Binaire, le logiciel de transmission enverra les bits par paquets. Ce
mode convient aux les exécutables, les images, les sons, etc...
Le choix du mode ASCII / binaire est souvent laissé à l'appréciation du logiciel
de transmission qui déterminera automatiquement le mode approprié en
fonction de l'extension ou du contenu du fichier à transmettre.
Certaines transmissions sont effectuées en mode hexadécimal. Ce mode de
transmission permet de transmettre des fichiers binaires en mode ASCII, c'est à
dire en n'utilisant que les 128 premiers caractères de la Table ASCII.

Table des caractères du Code ASCII

Dec Hex Code Dec Hex Code Dec Hex Code

32 20 64 40 @ 96 60 `

33 21 ! 65 41 A 97 61 a

34 22 " 66 42 B 98 62 b

35 23 # 67 43 C 99 63 c

36 24 $ 68 44 D 100 64 d

37 25 % 69 45 E 101 65 e
38 26 & 70 46 F 102 66 f

39 27 ' 71 47 G 103 67 g

40 28 ( 72 48 H 104 68 h

41 29 ) 73 49 I 105 69 i

42 2A * 74 4A J 106 6A j

43 2B + 75 4B K 107 6B k

44 2C , 76 4C L 108 6C l

45 2D - 77 4D M 109 6D m

46 2E . 78 4E N 110 6E n

47 2F / 79 4F O 111 6F o

48 30 0 80 50 P 112 70 p

49 31 1 81 51 Q 113 71 q

50 32 2 82 52 R 114 72 r

51 33 3 83 53 S 115 73 s

52 34 4 84 54 T 116 74 t

53 35 5 85 55 U 117 75 u

54 36 6 86 56 V 118 76 v

55 37 7 87 57 W 119 77 w

56 38 8 88 58 X 120 78 x

57 39 9 89 59 Y 121 79 y
58 3A : 90 5A Z 122 7A z

59 3B ; 91 5B [ 123 7B {

60 3C < 92 5C \ 124 7C |

61 3D = 93 5D ] 125 7D }

62 3E > 94 5E ^ 126 7E ~

63 3F ? 95 5F _ 127 7F

Table des caractères Code ASCII étendu

décimal hexa caractère décimal hexa caractère décimal hexa caractère


128 80 € 171 AB « 214 D6 Ö
129 81 172 AC ¬ 215 D7 ×
130 82 ‚ 173 AD 216 D8 Ø
131 83 ƒ 174 AE ® 217 D9 Ù
132 84 „ 175 AF ¯ 218 DA Ú
133 85 … 176 B0 ° 219 DB Û
134 86 † 177 B1 ± 220 DC Ü
135 87 ‡ 178 B2 ² 221 DD Ý
136 88 ˆ 179 B3 ³ 222 DE Þ
137 89 ‰ 180 B4 ´ 223 DF ß
138 8A Š 181 B5 µ 224 E0 à
139 8B ‹ 182 B6 ¶ 225 E1 á
140 8C Œ 183 B7 · 226 E2 â
141 8D 184 B8 ¸ 227 E3 ã
142 8E Ž 185 B9 ¹ 228 E4 ä
143 8F 186 BA º 229 E5 å
144 90 187 BB » 230 E6 æ
145 91 ‘ 188 BC ¼ 231 E7 ç
146 92 ’ 189 BD ½ 232 E8 è
147 93 “ 190 BE ¾ 233 E9 é
148 94 ” 191 BF ¿ 234 EA ê
149 95 • 192 C0 À 235 EB ë
150 96 – 193 C1 Á 236 EC ì
151 97 — 194 C2 Â 237 ED í
152 98 ˜ 195 C3 Ã 238 EE î
153 99 ™ 196 C4 Ä 239 EF ï
154 9A š 197 C5 Å 240 F0 ð
155 9B › 198 C6 Æ 241 F1 ñ
156 9C œ 199 C7 Ç 242 F2 ò
157 9D 200 C8 È 243 F3 ó
158 9E ž 201 C9 É 244 F4 ô
159 9F Ÿ 202 CA Ê 245 F5 õ
160 A0 espace 203 CB Ë 246 F6 ö
161 A1 ¡ 204 CC Ì 247 F7 ÷
162 A2 ¢ 205 CD Í 248 F8 ø
163 A3 £ 206 CE Î 249 F9 ù
164 A4 ¤ 207 CF Ï 250 FA ú
165 A5 ¥ 208 D0 Ð 251 FB û
166 A6 ¦ 209 D1 Ñ 252 FC ü
167 A7 § 210 D2 Ò 253 FD ý
168 A8 ¨ 211 D3 Ó 254 FE þ
169 A9 © 212 D4 Ô 255 FF ÿ
170 AA ª 213 D5 Õ

Le code ASCII est étendu de 128 caractères supplémentaires qui font en total 256
caractères (8 bits), qui varient selon les ordinateurs, les programmes et les polices.
Les plus courants sont le code ASCII étendu OEM, et le code ASCII étendu ANSI.
L’objectif principal était de permettre l’utilisation des caractères accentués, absents
de la table ASCII basique. Chaque caractère y est représenté par une chaine de 8 bits.
En fonction de la langue utilisée, les caractères spéciaux peuvent recevoir un code
entre 128 et 255. On parle ainsi du code ASCII étendu. Ce code ASCII étendu est
utilisé dans les pages HTML, diffusées sur le réseau Internet.

PRÉSENTATION DU CODE EBCDIC


Histoire

Avant l'Ascii Dans les années 1940 apparaissent les ordinateurs qui remplacent les
machines comptables mais en gardent notamment les cartes perforées et leurs
codes. Mais, très vite, la plus grande confusion règne en matière de codage des
informations de façon interne (ce qui n'était pas très gênant) mais aussi externe,
rendant difficile toute communication d'un ordinateur à l'autre. Ceci était même vrai
pour les diverses machines d'un constructeur. Le géant de l'époque, IBM, est ainsi
amené à définir peu après 1955 le codage BCD. – Le codage BCD (Binary Coded
Decimal) est un code à 6 bits (donc 64 caractères), basé sur celui des cartes
perforées. Il ne comprenait que les lettres majuscules, les chiffres et ponctuations. Il
a donc été abondamment utilisé sur les premiers ordinateurs d'IBM et a servi de base
à son successeur EBCDIC.

Définition
EBCDIC Extended code décimal codé binaire Interchange signifie en français codage
binaire étenduCode d'échange décimal est un huit bits codage de caractères utilisé
principalement sur les grands systèmes IBM et IBM ordinateur médium systèmes
d'exploitation. Il descendait du code utilisé avec les cartes perforées et du code
décimal codé binaire à six bits correspondant utilisé avec la plupart des périphériques
informatiques d'IBM de la fin des années 1950 et du début des années 1960. EBCDIC
a été conçu en 1963 et 1964 par IBM et a été annoncé avec la sortie de la
gamme IBM System / 360 d'ordinateurs mainframe. Il s'agit d'un codage de
caractères à huit bits, développé séparément du schéma de codage ASCII à sept bits.
Il a été créé pour étendre le code d'échange décimal codé binaire (BCD) existant,
ou BCDIC. Au moment de sa réalisation, l'EBCDIC offrait l'avantage d'une relative
facilité d'insertion des données au moyen de cartes perforées; car un tel soutien est
maintenant complètement obsolète, dans les ordinateurs modernes. Il manque un
avantage d'ordre technique par rapport à la page de code basé sur le codage ASCII
tels que les différents ISO-8859 et Unicode. La plupart des pages de code EBCDIC ne
permet pas l'utilisation simultanée de plus de deux langues (anglais et une seconde
langue) dans chaque fichier de base de données ou d'un texte.
Il s’agit d’un mode de codage des caractères sur 8 bits créé par IBM à l’époque des
cartes perforées. De nombreuses versions existent, bien souvent incompatibles entre
elles, ce qui est en partie la cause de son abandon. On l’utilise encore de nos jours,
mais presque essentiellement pour des raisons de rétrocompatibilité.
Il existe un format de transformation Unicode orienté EBCDIC appelé UTF-EBCDIC
proposé par le consortium Unicode, conçu pour permettre une mise à jour facile du
logiciel EBCDIC pour gérer Unicode, mais pas destiné à être utilisé dans des
environnements d'échange ouverts. Même sur les systèmes avec un support EBCDIC
étendu, il n'a pas été populaire.

Caractéristiques

Les pages de code basé sur ASCII et EBCDIC ne sont pas compatibles les uns avec les
autres. Parce que les ordinateurs sont capables de traiter uniquement les données
numériques, les deux conventions attribuent des caractères spécifiques à ces chiffres.
Les valeurs numériques identiques sont donc interprétées comme des caractères
différents en fonction de la page de code utilisé. Pour utiliser les données stockées
dans la conversion EBCDIC entre les pages de code est nécessaire pour afficher
correctement les informations sur les ordinateurs basés sur le codage ASCII, comme
commun ordinateur personnel. Il existe plusieurs versions de EBCDIC, adaptées aux
besoins des différents pays. Certains pays asiatiques utilisent également l'extension à
deux octets qui permet l'affichage central chinois, japonais et coréen.

Inconvénients
EBCDIC présente plusieurs inconvénients. Comparé à ASCII, le même caractère qui
nécessite 7 bits à représenter en ASCII prendra 8 bits en EBCDIC. Par conséquent,
EBCDIC est moins efficace qu'ASCII. De plus, lors de la disposition des caractères,
EBCDIC regroupe 9 caractères à la fois. De plus, il n’est pas compatible avec d’autres
encodages tels que Unicode.
Les bandes et cartes perforées ont cependant continué à être utilisées avec l’EBCDIC
jusque vers les années 1990, par exemple en Turquie pour les échanges de données
militaires alors que les problèmes de compatibilité des systèmes d’enregistrement
magnétiques ou des réseaux étaient encore loin d’être tous résolus.

Tables des caractères du code EBCDIC

Différence entre ASCII et EBCDIC


ASCII est une norme de codage de caractères pour les communications électroniques.
EBCDIC est un codage de caractères à huit bits utilisé principalement sur les systèmes
d'exploitation IBM mainframe et de milieu de gamme IBM.
ASCII signifie Code américain normalisé pour l'échange d'informations. EBCDIC
signifie code d'échange décimal codé binaire étendu.
De plus, ASCII est compatible avec les encodages modernes tels que Unicode. Il est
possible d’ouvrir des fichiers ASCII avec Unicode. En revanche, EBCDIC n’est pas
compatible avec les encodages modernes tels que Unicode.

PRÉSENTATION DE UNICODE
Histoire

Si un incident d’affichage se produit, c’est parce que le message est numériquement


codé à l’émission en UTF-8 (Universal Character Set Transformation Format 8 bits)
alors qu’il est accidentellement décodé à la réception en ISO-8859-1.
L’UTF-8 est le système universel de codage des caractères : il permet de coder
l’ensemble des alphabets en usage dans le monde. L’ISO-8859-1 est le système de
codage de l’alphabet latin. Il présente l’avantage d’être deux fois moins lourd sur le
plan digital que l’UTF-8. Les messageries s’adaptent à l’un ou l’autre. Mais, pour de
multiples raisons, il peut arriver qu’elles interprètent mal le système de codage du
message entrant. C’est alors qu’apparaissent des déformations du type « Bonne
journée », où é, qui code « é » en UTF-8, n’a pas été convenablement interprété
par la messagerie du destinataire.
De telles erreurs sont cependant rares. Cette qualité de service, les utilisateurs la
doivent à l’Unicode Consortium, une association à but non lucratif réunissant depuis
1991 toutes les parties prenantes – publiques et privées – pour assurer la
normalisation du codage informatique des alphabets du monde. L’Unicode est en
charge de la standardisation du code des quelque 140 000 caractères (minuscules,
majuscules, maigres, gras) en usage sur la planète, autant au niveau de l’UTF-8 que –
en association avec d’autres acteurs de la standardisation – à l’égard des dispositifs
régionaux de type ISO-8859-1.
A vocation universelle, l’Unicode Consortium ne se limite pas aux alphabets
traditionnels. Il prend aussi en compte les nouveaux langages qui se développent
autour des émoticônes. Dans le dispositif UTF-8, les émoticônes sont en effet des
caractères comme les autres. Chacun est affecté d’un code standardisé au même titre
que les voyelles et les consonnes : U+1F60D est le populaire smiley aux yeux en
forme de cœur 😍, U+1F62A est celui qui laisse percer une larme 😪.

Définition
L'Unicode désigne un système de codage utilisé pour l'échange de contenus à
l'échelle internationale, dans différentes langues, en faisant fi de la langue, de la
plateforme et du logiciel utilisé pour cet échange.
Développé par le Consortium Unicode, une organisation privée sans but lucratif,
l'Unicode peut se résumer à un codage de caractères sur 16 bits. Il permet de coder
l'ensemble des caractères couramment utilisés dans les différentes langues de la
planète en spécifiant un nombre unique pour chacun de ces caractères.
Au total, l'Unicode regroupe plus de 120 000 caractères parmi lesquels figurent les
lettres des différents alphabets, mais aussi des symboles mathématiques, chinois,
etc. Il couvre environ une centaine d'écritures.
Ce projet fut initié en 1987 par Becker, Collins et Davis. L’objectif était alors de
construire un code universel sur 16 bits, permettant donc 65,536 (216) codes
différents. En 1991 est fondé le consortium Unicode, comprenant des linguistes et
autres spécialistes de nombreux horizons. La norme Unicode est, en plus d’un
standard de codage de caractères, un immense rapport des recherches mondiales sur
les langues utilisées et ayant été utilisées à travers le monde. Unicode intervient là où
les diverses extensions du code ASCII, dont les ISO 8859, présentent l’inconvénient
d’être incompatibles entre elles.
Il regroupe ainsi la quasi-totalité des alphabets existants (arabe, arménien, cyrillique,
grec, hébreu, latin, …) et est compatible avec le code ASCII. Le codage sur 4 octets
permet la représentation de plus de 4 milliards de caractères (232). On y retrouve le
code ASCII, auquel on a notamment ajouté les jeux complets de caractères coréens,
japonais et chinois, mais aussi les symboles mathématiques ou encore les écritures
anciennes telles que l’écriture cunéiforme ou le linéaire B . Y compris ceux qui ne
s'appliquent plus. Hiéroglyphes égyptiens, runes germaniques, écriture maya,
cunéiformes et alphabets d'anciens états. La notation des mesures et des poids, la
notation musicale, les concepts mathématiques sont présentés. Aujourd’hui, le
codage le plus universel est le UTF-8 (Universal Character Set – 8 bits), utilisé par une
très grande majorité de sites web dans le monde.
Depuis sa version 3, Python utilise Unicode pour le codage des caractères.

Différents encodages des caractères Unicode


Unicode se contente de recenser, nommer les caractères et leur attribuer un numéro.
Mais il ne dit pas comment ils doivent être codés en informatique. Le plus
couramment utilisé, notamment pour les pages Web, est UTF-8.
Plusieurs formats d’encodage sont possibles (UTF–Universal Transformation Format):
UTF-8 : 8 bits qui code chaque caractère sur 8, 16, 24 ou 32 bits (soit un, deux, trois
ou quatre octets).
UTF-16 : 16 bits qui code chaque caractère sur 16 ou 32 bits (soit deux ou quatre
octets.
UTF-32 : 32 bits qui code chaque caractère sur 32 bits (soit quatre octets).
Principes d’encodage
Chaque langue comporte des caractères particuliers et parfois spécifiques. Pour
retranscrire ces caractères dans une chaîne de caractère, l’application générant la
chaîne utilise un encodage. Pour que les caractères soient correctement lues, il est
souvent nécessaire que l’application lectrice connaisse l’encodage qui est utilisé ou
réussisse à le deviner.
L’encodage des caractères dans une chaîne repose sur des conventions dont les
caractéristiques dépendent de critères particuliers:
• Nécessité de traiter la chaîne de caractères en économisant les ressources
matérielles de la machine,
• Nécessité d’économiser la bande passante lors de la transmission de la chaîne
de caractères à travers un réseau,
• Rechercher la compatibilité entre plusieurs encodages.
Les encodages le plus connus sont l’ASCII, l’UTF-8 ou l’UTF-16. Ils présentent des
différences qui peuvent mener, très souvent, à un mauvais traitement d’une chaîne
de caractères. Le but de ce document est de rappeler les caractéristiques principales
de ces encodages.

Avantages
Un support d'Unicode spécifique à certaines plates-formes est également intégré par
les systèmes modernes (Java, Microsoft Windows, GNU/Linux, bibliothèques
standards C/C++, Python, etc.).
Unicode a pour objet de rendre un même texte utilisable à l'identique sur des
systèmes informatiques totalement différents.
si tout le monde utilise UNICODE, il n'y a plus de problèmes, tout le monde peut
écrire dans sa langue maternelle en utilisant la même convention.
les pauvres gens qui font de la traduction de documents d'une langue dans une autre
n'auront plus à jongler en permanence avec les divers iso-8859 pour rédiger leur
travail.
- UTF-8
Comme indiqué précédemment, le gros intérêt d’UTF-8 est d’éviter le gaspillage
d’espace causé par l’utilisation d’UTF-16. Il est utilisé en majorité pour l’encodage de
fichiers HTML ou XML.
L’autre avantage d’UTF-8 est d’apporter une compatibilité avec l’encodage ASCII
contrairement à UTF-16.

Inconvénients
- Taille variable:
Les caractères sont représentés en UTF-8 par des séquences d’octets de taille
variable, ce qui rend certaines opérations sur les chaînes de caractères plus
compliquées : le calcul du nombre de caractères ; le positionnement à une distance
donnée (exprimée en caractères) dans un fichier texte et en règle générale toute
opération nécessitant l’accès au caractère de position N dans une chaîne.
- Efficacité:
Pour les langues utilisant beaucoup de caractères extérieurs à US-ASCII, UTF-8 occupe
sensiblement plus d’espace.
- Séquences invalides:
Par son système de codage, il était éventuellement possible de représenter un code
de différentes manières en UTF-8, ce qui pouvait poser un problème de sécurité.

- Inconvénient majeur d’UTF-16


UTF-16 utilise beaucoup d’espace car pour la plupart des caractères correspondant
aux langues occidentales, on est obligé de préciser "00" (par exemple pour "é"
l’encodage est 00E9) ce qui fait perdre beaucoup d’espace. Pour des transmissions de
chaîne de caractères à travers un réseau, ce gaspillage d’espace peut causer des
performances moins bonnes que des encodages plus simples.
UTF-16 peut causer une incompatibilité avec des applications utilisant l’ASCII à cause
de la présence des "0x00".
- Inconvénients de l’UTF-8
Le défaut d’UTF-8 est que les points de code ayant une valeur numérique faible sur
peu d’octets sont réservés aux caractères des langues occidentales. Les caractères
spécifiques des langues autres que les langues occidentales sont codés sur plusieurs
octets. Plus des octets sont nécessaires pour encoder des caractères et plus les
transmissions par réseau prennent du temps ou plus les fichiers sont lourds.
Ainsi UTF-8 est plus performant qu’UTF-16 pour les transmissions de caractères
appartenant à des langues occidentales mais cet avantage diminue si il faut encoder
des caractères appartenant à d’autres langues.
Le 2e défaut d’UTF-8 est qu’il nécessite plus de ressources matériels pour décoder les
caractères. Pour des transmissions de chaînes de caractères par le réseau, on tente
d’économise la bande passante en privilégiant un encodage moins gourmant en
espace au détriment d’un traitement un peu plus lourd. C’est la raison pour laquelle
UTF-8 est l’encodage le plus utlisé sur internet. En revanche, si on veut privilégier les
ressources matérielles et que la taille des chaînes est moins critique comme dans un
système d’exploitation, on utilisera plutôt UTF-16 comme dans Windows par
exemple.

Différence entre ASCII et Unicode

La différence principale entre ASCII et Unicode est que l'ASCII représente les lettres
minuscules (az), les lettres majuscules (AZ), les chiffres (0-9) et des symboles tels que
les signes de ponctuation, tandis que l'Unicode représente des lettres anglaises,
arabes, grecques, etc., des symboles mathématiques, des scripts historiques et des
caractères emoji une large gamme de caractères qu'ASCII.
ASCII et Unicode sont deux normes de codage en communication électronique. Ils
servent à représenter du texte dans des ordinateurs, des appareils de
télécommunication et d’autres équipements. ASCII code 128 caractères. Il comprend
des lettres anglaises, des chiffres de 0 à 9 et quelques autres symboles. Par contre,
Unicode couvre un plus grand nombre de caractères qu'ASCII. Il représente la plupart
des langues écrites dans le monde. Unicode code les lettres de langue, les chiffres et
un grand nombre d'autres symboles. En bref, Unicode est un sur-ensemble d'ASCII.
. De plus, ASCII est utilisé dans les arts graphiques pour représenter des images en
utilisant des caractères..
L’inconvénient d’ASCII est qu’il ne peut représenter que 128 caractères. Il n'a pas de
représentation pour la plupart des symboles mathématiques et autres.
Unicode est disponible en trois types d’encodage. Ils sont UTF-8, UTF-16 et UTF -32.
UTF utilise 8 bits par caractère, UTF-16 utilise 16 bits par caractère et UTF-32 utilise
32 bits pour un caractère. En UTF-8, les 128 premiers caractères sont les caractères
ASCII. Par conséquent, ASCII est valide dans UTF-8. Unicode est généralement utilisé
pour l'internationalisation et la localisation de logiciels. Cette norme est également
utilisée dans les systèmes d'exploitation, XML, .NET Framework et les langages de
programmation tels que Java. Unicode est un sur-ensemble d'ASCII.
Le code ASCII ou American Standard pour l'échange d'informations est une norme de
codage de caractères pour les communications électroniques. Unicode est une norme
de l'industrie informatique pour un codage, une représentation et une gestion
cohérentes du texte exprimé dans la plupart des systèmes d'écriture du monde..
ASCII signifie Code américain normalisé pour l'échange d'informations. Unicode
signifie Universal Character Set.
ASCII contient des représentations pour les chiffres, les lettres anglaises et d’autres
symboles. Il supporte 128 caractères. Unicode prend en charge une large gamme de
caractères. C'est la principale différence entre ASCII et Unicode.
De plus, l'ASCII utilise 7 bits pour représenter un caractère, tandis que l'Unicode
utilise 8 bits, 16 bits ou 32 bits, selon le type de codage.
Unicode nécessite plus d'espace qu'ASCII.
- Domaines d’application
Même aujourd’hui, ASCII est encore largement utilisé, bien qu’UTF-8 soit
probablement devenu plus important pour la représentation du texte. Cependant, ce
n’est qu’aux alentours de 2008 que l’Unicode a remplacé le codage de caractères plus
ancien dans le World Wide Web.
L’avantage d’UTF-8 est que le code est virtuellement rétro-compatible : ASCII est un
sous-ensemble d’UTF-8 et donc les 128 premiers caractères sont identiques. Étant
donné que l’ASCII peut être considéré comme le plus petit dénominateur commun de
la plupart des nouveaux formulaires de codage, l’ancien codage est toujours utilisé
dans les courriels et les URL.

Nota bene
Les utilisateurs peuvent maintenant aussi utiliser Unicode pour créer des emails, et
les noms de domaine peuvent même être utilisés aujourd’hui grâce aux noms de
domaine internationalisés. Dans les deux cas, cependant, le texte doit être converti
au format ASCII avant de pouvoir être transféré. Ceci est fait automatiquement, de
sorte que l’utilisateur ne remarque rien.
Il existe d'autres normes que l'ASCII, comme l'Unicode par exemple, qui présentent
l'avantage de proposer une version unifiée des différents encodages de caractères
complétant l'ASCII mais aussi de permettre l'encodage de caractères autres que ceux
de l'alphabet latin. Le codage UTF8 de l'Unicode est une extension d'ASCII utilisant le
8e bit.
Sous Windows, vous pouvez saisir des caractères Unicode, et donc aussi des
caractères ASCII, à l’aide d’une combinaison de touches. Pour ce faire, maintenez la
touche Alt enfoncée et saisissez la valeur décimale du caractère à l’aide du pavé
numérique.
De nombreuses langues contiennent des symboles qui n’ont pas pu être condensés
dans le jeu ACSII étendu de 256 caractères. Ainsi, il existe des variantes ASCII et
Unicode afin d’inclure des caractères régionaux et des symboles.
Certains des programmes Microsoft Office, tels que PowerPoint et InfoPath, ne
peuvent pas convertir les codes Unicode en caractères. Si vous avez besoin d’un
caractère Unicode et que vous utilisez un des programmes qui ne prend pas en
charge les caractères Unicode, utilisez la Carte de caractères pour entrer les
caractères dont vous avez besoin.

Utilisation de la Carte de caractères


Character Map est un programme intégré à Microsoft Windows qui vous permet
d’afficher les caractères disponibles dans une police sélectionnée.
La Character Map vous permet de copier des caractères individuels ou un groupe de
caractères dans le Presse-papiers et de les coller dans n’importe quel programme qui
peut les afficher. Pour ouvrir la Carte de caractères :
Dans Windows 10 : Tapez « caractère » dans la zone de recherche de la barre des
tâches, puis choisissez Carte de caractères dans les résultats.
Dans Windows 8 : Recherchez le mot « caractère » dans l’écran de démarrage et
sélectionnez Carte de caractères dans les résultats.
Dans Windows 7 : Cliquez sur Démarrer, pointez sur Tous les programmes,
sur Accessoires, sur Outils système, puis cliquez sur Table des caractères.

Codes de caractères de symbole courants


Glyphe Code Glyphe Code
Symboles monétaires
¢ Alt+0162 $ 0024+Alt+X
€ Alt+0128 ¤ Alt+0164
Symboles mathématiques
√ 221A+Alt+X + Alt+43
< Alt+60 > Alt+62
] Alt+93 ∆ 2206+Alt+X
Fractions
¼ Alt+0188 ½ Alt+0189
Symboles de ponctuation et
dialectique
? Alt+63 ¿ Alt+0191
. Alt+46 | Alt+124
/ Alt+47 \ Alt+92
` Alt+96 ^ Alt+94
« Alt+0171 » Alt+0187
« Alt+174 » Alt+175
~ Alt+126 & Alt+38
: Alt+58 { Alt+123
; Alt+59 } Alt+125

Codes de caractères diacritiques courants


Glyphe Code Glyphe Code
à Alt+0195 å Alt+0229
Å Alt+143 å Alt+134
Ä Alt+142 ä Alt+132
À Alt+0192 à Alt+133
Á Alt+0193 á Alt+160
 Alt+0194 â Alt+131
Ç Alt+128 ç Alt+135
Č 010C+Alt+X č 010D+Alt+X
É Alt+144 é Alt+130
È Alt+0200 è Alt+138
Ê Alt+202 ê Alt+136
Ë Alt+203 ë Alt+137
Ĕ 0114+Alt+X ĕ 0115+Alt+X
Ğ 011E+Alt+X ğ 011F+Alt+X
Ģ 0122+Alt+X ģ 0123+Alt+X
Ï Alt+0207 ï Alt+139
Î Alt+0206 î Alt+140
Í Alt+0205 í Alt+161
Ì Alt+0204 ì Alt+141
Ñ Alt+165 ñ Alt+164
Ö Alt+153 ö Alt+148
Ô Alt+212 ô Alt+147
Ō 014C+Alt+X ō 014D+Alt+X
Ò Alt+0210 ò Alt+149
Ó Alt+0211 ó Alt+162
Ø Alt+0216 ø 00F8+Alt+X

Importance de Unicode

Pour plusieurs, la simple détection des octets représentant un caractère était un


processus contextuel complexe. Les jeux de caractères classiques ne pouvaient au
mieux prendre en charge que quelques langues. La prise en charge de plusieurs
langues à la fois était difficile, voire impossible. Aucun jeu de caractères ne fournissait
toutes les lettres, les signes de ponctuation et les symboles techniques en usage
courant utilisés pour une seule langue comme le français.
Produire des logiciels destinés à différents marchés se résumait à une alternative
simple : écrire des versions différentes du logiciel pour chaque jeu de caractères ou
rendre le code du logiciel nettement plus compliqué pour traiter tous les jeux de
caractères nécessaires. Ces deux options impliquent plus de codage, plus de tests,
plus d’entretien et plus de soutien aux utilisateurs. Elles rendent la production de
logiciels destinés à l’exportation plus chère et retardent leur lancement ce qui n’est
pas sans conséquence sur les revenus.

Il définit une manière cohérente de coder des textes multilingues et facilite l’échange
de données textuelles. Obligatoire pour la plupart des nouveaux protocoles de
l’Internet XML, HTML, WML, Corba 3.0, LDAP, etc., mis en œuvre dans tous les
systèmes d’exploitation et langages informatiques modernes Exemples : Java,
ECMAScript (Javascript), MS Windows 2000 et…, Unicode est la base de tout logiciel
qui veut fonctionner aux quatre coins du monde.
Grâce à Unicode, l’industrie informatique peut assurer la pérennité des données
textuelles tout en évitant la prolifération de jeux de caractères et en augmentant
l’interopérabilité des données. Enfin, Unicode simplifie le développement de logiciels
et en réduit les coûts. En effet, Unicode permet de coder tous les caractères utilisés
par toutes les langues écrites du monde (plus d’un million de caractères sont réservés
à cet effet). Tous les caractères, quelle que soit la langue dans laquelle ils sont
utilisés, sont accessibles sans aucune séquence d’échappement. Le codage de
caractère Unicode traite les caractères alphabétiques, les caractères idéographiques
et les symboles de manière équivalente, avec comme conséquence qu’ils peuvent se
côtoyer dans n’importe quel ordre avec une égale facilité.
Le standard Unicode attribue à chacun de ses caractères un numéro [7][7]Une
« valeur scalaire Unicode », dans le jargon d’Unicode. et un nom. À ce titre, il ne
diffère guère des autres standards ou normes de codage de caractères. Cependant
Unicode fournit d’autres renseignements cruciaux afin de s’assurer que le texte codé
sera lisible : la casse des caractères codés, leur directionalité et leurs propriétés
alphabétiques. Unicode définit également des renseignements sémantiques et
comprend des tableaux de correspondance de casse ou des conversions entre
Unicode et les répertoires de divers autres jeux de caractères importants.
À l’heure actuelle, les données Unicode peuvent être codées sous trois formes
principales : une forme codée sur 32 bits (UTF-32), une forme sur 16 bits (UTF-16) et
une forme de 8 bits (UTF-8) conçue pour faciliter son utilisation sur les systèmes ASCII
préexistants. Le standard Unicode est identique à la norme internationale ISO/CEI
10646 en ce qui concerne l’affectation des caractères (leur numéro) et leurs
noms .Toute application qui se conforme à Unicode se conforme donc à l’ISO/CEI
10646.

Conclusion

En somme, l’on doit toujours choisir l’encodage de caractère UTF-8 pour votre contenu
ou vos données. Cet encodage Unicode est un bon choix, car vous pouvez utiliser un
encodage unique pour composer avec presque tous les caractères que vous êtes
susceptibles de rencontrer. Cela simplifie grandement la tâche. Utiliser l’Unicode dans
votre système évite également de faire un suivi de différents encodages de caractères
et de les convertir.

Les développeurs doivent s’assurer que les différentes composantes du système


peuvent échanger entre elles, comprendre quels encodages de caractères sont utilisés
et être compatibles avec les encodages et caractères indispensables. (Idéalement, vous
devriez toujours utiliser l’UTF-8 et ne plus avoir ce problème.)

L’UTF-8 est le moyen le plus largement utilisé pour représenter le texte Unicode dans
les pages Web et vous devriez toujours utiliser l’UTF-8 pour créer vos pages Web et vos
bases de données. Mais en principe, l’UTF-8 n’est qu’une façon parmi d’autres
d’encoder les caractères Unicode. En d’autres mots, un seul point de code dans le
répertoire de caractères Unicode peut en réalité être organisé en différentes
séquences d’octets, selon l’encodage qui a été utilisé pour le document.

BIBLIOGRAPHIE
(en) American Standard Code for Information Interchange, AMERICAN STANDARDS
ASSOCIATION, 17 juin 1963, 12 p. (lire en ligne [archive])

(fr) Chapitres 2, 3, et 4 du livre Fontes et codages [archive].

[Link]

[Link]

Encoding UTF-8: [Link]

[Link]

[Link]

Vous aimerez peut-être aussi