Caracteres : ASCII et UTF-8
Comment un ordinateur peut-il stocker la lettre 'A' ou l'emoji '😀' ? Tout est question de CODES ! Chaque caractere correspond a un nombre. ASCII a pose les bases avec 128 caracteres, puis Unicode a ouvert la porte a TOUS les alphabets du monde et meme aux emojis !
45 min Niveau 2/5 +35 XP
Objectifs
- Comprendre l'encodage ASCII et ses limites
- Maitriser le standard Unicode et UTF-8
- Convertir entre caracteres et codes avec ord() et chr()
- Manipuler les chaines de caracteres en Python
Pieges a eviter
- !Confondre ASCII (128 caracteres) et UTF-8 (universel)
- !Oublier que les accents ne sont pas en ASCII
- !Problemes d'encodage a l'ouverture de fichiers
- !Comparer caracteres sans tenir compte de la casse
Cours complet
ASCII (American Standard Code for Information Interchange) associe 128 caracteres a des nombres de 0 a 127. C'est le standard historique, mais limite a l'anglais.
# ASCII : 128 caracteres (0 a 127)
# - 0-31 : caracteres de controle (non imprimables)
# - 32 : espace
# - 48-57 : chiffres '0' a '9'
# - 65-90 : lettres majuscules 'A' a 'Z'
# - 97-122 : lettres minuscules 'a' a 'z'
# ord() : caractere -> code ASCII
print(ord('A')) # 65
print(ord('a')) # 97
print(ord('0')) # 48
print(ord(' ')) # 32
# chr() : code ASCII -> caractere
print(chr(65)) # 'A'
print(chr(97)) # 'a'
print(chr(48)) # '0'
# Astuce : difference entre 'A' et 'a'
print(ord('a') - ord('A')) # 32
# Convertir majuscule <-> minuscule
lettre = 'B'
minuscule = chr(ord(lettre) + 32)
print(minuscule) # 'b'
# Table ASCII des lettres
print("Majuscules :")
for i in range(65, 91):
print(f"{chr(i)} = {i}", end=" ")
print("\n\nMinuscules :")
for i in range(97, 123):
print(f"{chr(i)} = {i}", end=" ")Quiz Caracteres
5 questions pour valider
Codes importants
'A' = 65, 'Z' = 90
'a' = 97, 'z' = 122
'0' = 48, '9' = 57
espace = 32
A retenir
- • ord(c) : caractere → code
- • chr(n) : code → caractere
- • ASCII : 128 caracteres (0-127)
- • UTF-8 : universel (emojis inclus)
