Exercices#
Exercice 1#
On donne la table ASCII:
Que remarque-t-on dans la table ASCII en observant les lettres majuscules et les lettres minuscules ?
Donner les codes binaires des lettres A, a, M, m et W, w.
Quelle observation peut-on faire entre le codage binaire des majuscules et celui des minuscules?
Exercice 2#
Voici le code d’une page web html à copier coller dans un fichier avec l’extension html
.
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="iso-8859-1">
<style>
body{font-size:1.5em;}
</style>
</head>
<body>
<h1>L'encodage de caractères</h1>
<p>Une page web doit déclarer l'encodage de caractères utilisé pour que le navigateur s'adapte et affiche correctement les contenus. Si la norme aujourd'hui est <strong>utf-8</strong>, il existe encore de nombreux sites qui ne l'utilisent pas! Du coup, certains caractères peuvant s'afficher de façon incorrecte à cause d'un problème de déclaration non reconnue par le navigateur.</p>
<p>En général, il faut juste modifier cette déclaration dans le fichier pour rendre l'affichage lisible. Cela coûte 0 €.</p>
<h2>Exercice</h2>
<ol>
<li>Pouvez-vous reconnaitre les caractères mal affichés ?</li>
<li>La dernière phrase "Cela coûte 0 €." est mal affichée. Sur combien d'octets sont encodés les caractères mal affichés en utf-8 ?</li>
<li>Selon vous, quel est l'encodage utilisé et déclaré sur cette page web ?</li>
<li>Certains navigateurs permettent de changer l'encodage de texte. Est-ce le cas pour votre navigateur ?</li>
<li>Pour corriger l'erreur d'affichage, il faut éditer le fichier et modifier l'encodage. Faites la modification et vérifier que le navigateur affiche correctement la page.</li>
</ol>
</body>
Ce fichier html est téléchargeable : fichier html
Ouvrir ce fichier avec un navigateur et répondre aux questions posées.
Exercice 3#
Un caractère a comme point de code U+005A.
A quelle plage appartient ce point de code ?
Combien d’octets faut-il pour l’encoder en UTF-8 ?
Ce caractère est-il un caractère de la table ASCII? Si oui, en déduire son encodage en binaire.
Exercice 4#
Le caractère de point de code U+FFFD appartient à la plage \([U+0800 ; U+FFFF]\). Ce caractère est donc encodé en UTF-8 sur trois octets.
Quel est la forme d’encodage de ce caractère en UTF-8 ?
Convertir en binaire le point de code de ce caractère.
En déduire l’encodage de ce caractère en UTF-8, c’est à dire tel qu’il est encodé en machine.
Convertir l’encodage binaire en hexadécimal.
Exercice 5#
Dans la langue française, on retrouve des ligatures, c’est à dire que certaines lettres sont collées l’une à l’autre. Par exemple, le o et le e sont collés dans les mots nœud, œil et œuvre.
La ligature œ est apparue dans la table ISO 8859-15 avec le code hexadécimal BD.
Dans la norme Unicode, cette ligature a pour point de code U+0153.
On rappelle que le codage binaire en UTF-8 se fait en suivant les indications du tableau ci-dessous.
Plage |
Ecriture binaire |
Nombre de bits |
---|---|---|
U+0000 à U+007F |
\(0xxx xxxx\) |
7 bits |
U+0080 à U+07FF |
\(110x xxxx\) \(10xx xxxx\) |
11 bits |
U+0800 à U+FFFF |
\(1110 xxxx\) \(10xx xxxx\) \(10xx xxxx\) |
16 bits |
U+10000 à U+10FFFF |
\(1111 0xxx\) \(10xx xxxx\) \(10xx xxxx\) \(10xx xxxx\) |
21 bits |
Combien faut-il d’octets pour coder la ligature œ en UTF-8
Après avoir converti le point de code en binaire, en déduire le codage binaire en UTF-8 de la ligature œ.