Vous êtes sur la page 1sur 17

Codage binaire des caractères

Objectifs :
• Être capable d’expliquer pourquoi certains caractères apparaissent
bizarrement à l’écran
• Comprendre pourquoi un caractère peut être converti en entier et
inversement
• Savoir rappeler quelques méthodes d’encodage classiques (ASCII,
UTF-8)
• Savoir expliquer pourquoi certains caractères prennent plus d’espace
de stockage en mémoire
Tiré du concours castor informatique 2020 :
https://www.castor-informatique.ch/documents/2020/Castor-
informatique-2020-AnneesHarmoS11-12-avecSolutions.pdf
• 你好,计算机科学很棒

• sveiki, informatika yra puiku

• hei, tietojenkäsittely on hienoa


• ‫ علوم الكمبيوتر رائعة‬، ‫مرحبًا‬

• -... --- -. .--- --- ..- .-. --..-- / .-.. .----. .. -. ..-. --- .-. -- .- - .. --.- ..- . / -.-.
.----. . ... - / --. ..-.. -. .. .- .-..
• Bonjour, l'informatique c'est génial
Comment un ordinateur peut-il stocker des
informations?

• Mémoire

• Bit (Binary digit)

• Deux états matérialisés par exemple par le passage de deux courants


électriques.
Comment l’ordinateur représente-t-il des
lettres avec des 0 et des 1
• Code ASCII
(American
Standard Code
for Information
Interchange)

• Au départ 128 possibilités : on utilisait


donc …. bits

• Code ASCII étendu portant sur 8 bits :


C’est-à-dire … possibilités.

Tableau repris du cours de S. Vannay


Zoom sur quelques caractères
Par quel code est représenté a?, k? et la touche espace?
Taille de fichiers
Diversité des sandards d’encodage
• https://xkcd.com/927/
Approche moderne : Unicode
1. Etablir un répertoire des caractères (plus de 250 000 caractères)

2. Associer un « point code » à chaque caractère du répertoire.


UCS = Universal coded Character Set)

3. Transformer le code en binaire


Pour limiter le nombre de bits nécessaire : utilisation des codets : bloc
de bits
Table d'encodage unicode, UTF8

Pour limiter le nombre de bits utilisés :

Tableau repris de https://www.utf8-chartable.de/


Codets (exemple de l’UTF8)

• Un 0 initial signifie ici qu’on va utiliser un seul bloc : on a


donc 7 bits à disposition
• 110 introduit une séquence de 2 blocs, 1110 de … blocs,
11110 de …. Blocs
• 10 signifie que le codet fait partie d’une séquence
Tableau repris de https://www.utf8-chartable.de
Exemple 1 : code en UTF8 :
• 0110 0010 : le premier 0 signifie qu’on utilise un seul bloc, il faut
ensuite cherche le nombre 110 0010 dans le tableau suivant (ascii)
Exemple 2 : code utf8
• 11000011 10100000

Ici en bleu, on repère la forme 110… suivi de 10…

Il faut ensuite chercher le point code correspondant


au reste du nombre binaire c'est-à-dire ici la partie en
noire 00011100000 ce qui correspond à E0 donc à à
Avantage du code utf8
• Universalité
• Efficacité
• Faibilité…
Affichage des caractères
Problème des différents systèmes d'encodage
En changeant l'encodage

Vous aimerez peut-être aussi