Représentation des données/Caracteres ASCII/UTF-8

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)
EdTech AI Assistant