>>sortie
01000011|C 00100111|' 01100101|e 01110011|s 01110100|t 00100000| 01100110|f 01100001|a 01100011|c 01101001|i 01101100|l 01100101|e
C'est facile
Chapitre 4: Représentation des textes
Peut-on encoder en ASCII le texte « Ne désire que ce que tu as. »?
Trouver le texte représenté en ASCII binaire par la suite de bits 01000011 00100111 01100101 01110011 01110100 00100000 01100110 01100001 01100011 01101001 01101100 01100101
>>sortie
01000011|C 00100111|' 01100101|e 01110011|s 01110100|t 00100000| 01100110|f 01100001|a 01100011|c 01101001|i 01101100|l 01100101|e
C'est facile
Traduire une phrase en ASCII binaire, puis la passer à son voisin pour qu’il la décode. Si vous n’avez pas de voisin utilisez: « Parler ne fait pas cuire le riz. »
>>sortie
P|01010000 a|01100001 r|01110010 l|01101100 e|01100101 r|01110010 |00100000 n|01101110 e|01100101 |00100000 f|01100110 a|01100001 i|01101001 t|01110100 |00100000 p|01110000 a|01100001 s|01110011 |00100000 c|01100011 u|01110101 i|01101001 r|01110010 e|01100101 |00100000 l|01101100 e|01100101 |00100000 r|01110010 i|01101001 z|01111010 .|00101110
01010000 01100001 01110010 01101100 01100101 01110010 00100000 01101110 01100101 00100000 01100110 01100001 01101001 01110100 00100000 01110000 01100001 01110011 00100000 01100011 01110101 01101001 01110010 01100101 00100000 01101100 01100101 00100000 01110010 01101001 01111010 00101110
Traduire une phrase en ASCII hexadécimal, puis la passer à son voisin qui la décode. Si vous n’avez pas de voisin utilisez: « Lever la voix ne donne pas raison. ».
>>sortie
L|4C e|65 v|76 e|65 r|72 |20 l|6C a|61 |20 v|76 o|6F i|69 x|78 |20 n|6E e|65 |20 d|64 o|6F n|6E n|6E e|65 |20 p|70 a|61 s|73 |20 r|72 a|61 i|69 s|73 o|6F n|6E .|2E
4C 65 76 65 72 20 6C 61 20 76 6F 69 78 20 6E 65 20 64 6F 6E 6E 65 20 70 61 73 20 72 61 69 73 6F 6E 2E
Recommencer en utilisant une phrase avec des accents que vous coderez en hexadécimal avec l’encodage latin-1
(ISO 8859-1
). Si vous n’avez pas de voisin utilisez: « Les excès tuent plus sûrement que les épées. »
>>sortie
L|4c e|65 s|73 |20 e|65 x|78 c|63 è|e8 s|73 |20 t|74 u|75 e|65 n|6e t|74 |20 p|70 l|6c u|75 s|73 |20 s|73 û|fb r|72 e|65 m|6d e|65 n|6e t|74 |20 q|71 u|75 e|65 |20 l|6c e|65 s|73 |20 é|e9 p|70 é|e9 e|65 s|73 .|2e
4c 65 73 20 65 78 63 e8 73 20 74 75 65 6e 74 20 70 6c 75 73 20 73 fb 72 65 6d 65 6e 74 20 71 75 65 20 6c 65 73 20 e9 70 e9 65 73 2e
Rédiger un paragraphe expliquant l’intérêt du codage UTF-8
, ses avantages et ses inconvénients par rapport l’ASCII
ou au codage ISO-8859-1
.
Tenter d’encoder la première phrase du texte avec python.
phrase = "Grace Murray Hopper, née le 9 décembre 1906 à New York et morte le 1er janvier"
phrase.encode("utf-8")
Tenter de décoder quelques caractères de leur forme binaire (hexadécimale) vers leur représentation réelle.
iso-8859-1
à décoder.Pour lire un fichier texte depuis Python, la syntaxe est la suivante:
Dans ce cas, on lit le fichier sous forme de texte encodé (par défaut utf-8)
Mais si on a besoin, on peut aussi lire le texte sous forme de bits, en ajoutant un deuxième argument à la fonction open (ici "rb"
pour read bytes):
Dans ce cas le deuxième argument est "w"
pour write ou "wb"
pour write bytes.
with open('file-from-python-utf-8.md', 'w') as f:
f.write("À l'origine, ce fichier texte a été écrit depuis python")
# Vérification
with open('file-from-python-utf-8.md') as f:
read_data = f.read()
print(read_data)
utf-8
, puis en iso-8859-15
.