Plus facile à lire avec un fond crème, une teinte, plus de contraste ou un texte plus grand ? Choisissez vos couleurs et votre texte, une fois pour toutes les pages.

Leçon gratuite

Texte, images et son en bits

Après cette leçon: Je peux expliquer comment un texte, une image et un son deviennent des bits.

Leçon de 50 min8 commandesLab de compilation et d’architecture : gcc, flex, bison et RISC-V dans une VM

Ce qui remplit ton forfait mobile

Ton forfait mobile se compte en gigaoctets. Un message texte ne pèse presque rien. Une photo pèse quelques millions d'octets.

Une minute de musique non compressée pèse environ dix millions d'octets. Pourtant, ce ne sont que des bits. Aujourd'hui, tu vas voir comment chacun devient des bits, et comment calculer sa taille.

À la fin de cette leçon

Remarque

Je peux expliquer comment un texte, une image et un son deviennent des bits.

Mots clés

MotCe que ça veut direExemple
Code de caractèrele nombre qui remplace une lettre ou un signe77 pour M
Unicodeune seule liste de codes pour les lettres de toutes les langues
Pixelun point de couleur dans une image
Profondeur de couleurle nombre de bits de chaque pixel
Fréquence d'échantillonnagele nombre de mesures du son par seconde
Échantillonune mesure du son, gardée sur quelques bits

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Avant de commencer

Remarque

Appuie sur Start the lab dans la barre en haut et attends que la machine soit prête. Chaque bouton Run tape sa commande dans le terminal, l'une après l'autre.

Chaque caractère a un numéro

Un ordinateur garde une lettre sous la forme de son code de caractère. Dans la plus vieille liste courante, A vaut 65, M vaut 77 et m vaut 109. L'espace vaut 32. La fin de ligne est aussi un caractère, le numéro 10.

Unicode donne un code à toutes les lettres de toutes les langues, et aux émojis. Les 128 premiers codes sont ceux de la vieille liste et prennent un octet chacun. Les lettres accentuées en prennent plus.

Va dans le dossier arch

Commande
cd ~/arch

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Demande trois codes à Python

Commande
python3 -c "print(ord('M'), ord('m'), chr(70))"

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Écris le mot Oui dans un fichier

Commande
echo Oui > oui.txt

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Affiche chaque octet en nombre

Commande
od -t u1 oui.txt

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Combien d'octets pour é ?

Commande
python3 -c "print(chr(233), len(chr(233).encode()))"

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Une image est une grille de pixels

Une image est gardée sous forme de grille de pixels. La largeur fois la hauteur donne le nombre de pixels : c'est la définition de l'image.

Chaque pixel est un nombre pour sa couleur. Avec une profondeur de couleur de 1 bit, un pixel est noir ou blanc. Avec 8 bits, il y a 256 couleurs. Un téléphone utilise 24 bits, soit environ 16,7 millions de couleurs.

Exemple : la taille d'une image

ImagePixelsBits par pixelBitsOctets
4 sur 2, noir et blanc8181
200 sur 100, 256 couleurs20 0008160 00020 000
1280 sur 720, toutes couleurs921 6002422 118 4002 764 800

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Écris une image de huit pixels

Commande
printf 'P1\n4 2\n1 0 0 1\n0 1 1 0\n' > motif.pbm

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Demande quel type de fichier c'est

Commande
file motif.pbm

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Un son est mesuré très souvent

Un micro change le son en une onde. L'ordinateur mesure cette onde de très nombreuses fois par seconde. Chaque mesure est un échantillon.

La fréquence d'échantillonnage dit combien d'échantillons par seconde. Chaque échantillon prend un nombre de bits fixe. La taille en bits vaut fréquence × bits × canaux × secondes. La stéréo a deux canaux.

Exemple : une minute de son vidéo

ÉtapeCalculRésultat
Échantillons par seconde48 00048 000
Bits par seconde, 16 bits, stéréo48 000 × 16 × 21 536 000
Bits en 60 secondes1 536 000 × 6092 160 000
Octets92 160 000 ÷ 811 520 000

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Laisse Python faire le calcul

Commande
python3 -c "print(48000 * 16 * 2 * 60 / 8)"

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Une erreur fréquente

Attention

Beaucoup s'arrêtent quand la multiplication est finie et donnent le résultat en octets. Le calcul donne des bits. Divise par 8 pour avoir des octets, puis par 1000 pour des kilooctets, ou par 1 000 000 pour des mégaoctets.

Pour aller plus loin : plus que les pixels

motif.pbm contient huit pixels, soit huit bits. Tape wc -c motif.pbm dans le terminal pour voir sa vraie taille.

D'où viennent les octets en plus ? Tape cat motif.pbm et compte chaque caractère, fins de ligne comprises.

À propos de ce labo et de sa source: Lab de compilation et d’architecture : gcc, flex, bison et RISC-V dans une VM

Vous enseignez à une classe ? Proposez ce module à vos étudiants avec un guide de l'enseignant, des devoirs corrigés et un laboratoire pour chaque étudiant.