gymnase-tp

TP 02 : Caractère & Image

Représentation des caractères

Lorsque vous écrivez du texte sur un ordinateur, les caractères qui constituent ce texte sont encodés en binaire. Pour savoir quel caractère correspond à quelle séquence de bits, on utilise une table de codage de caractère.

Codage ASCII

Le codage ASCII est probablement le plus connu et voici un extrait de sa table de correspondance:

Caractère Décimal Hexadécimal Binaire
A 65 0x41 0100 0001
B 66 0x42 0100 0010
Z 90 0x5A 0101 1010
[ 91 0x5B 0101 1011
\ 92 0x5C 0101 1100
a 97 0x61 0110 0001

On peut donc voir que pour chaque caractère B, la séquence 0100 0010 sera stocké sur l’ordinateur.

Vous pouvez trouver table ASCII sur Wikipedia.

Codage UTF-8

Le codage le plus utilisé aujourd’hui est l’UTF-8. 95.2 % des sites web l’utilisait en octobre 2020.

L’UTF-8 est un sur-ensemble d’ASCII, c’est-à-dire que tous les caractères définies dans l’ASCII a le même encodage que dans l’UTF-8.

Il étend l’ensemble des caractères en rajoutant des symboles, les lettres accentuées, l’alphabet grec, arabe, cyrillic et plein d’autres.

Encodage d’un fichier texte

  1. Téléchargez le fichier hello.txt
    1. Pour le télécharger, clic-droit sur la page web puis “Enregistrer sous…”
    2. Pourquoi Hello World ?
  2. Ouvrez-le sur votre ordinateur afin de vérifier son contenu
  3. Ouvrez-le sur l’éditeur hexadécimal HexEd.it
    1. L’éditeur vous montre les octets qui composent votre fichier en hexadécimal
    2. Vous pouvez voir que le premier octet du fichier est 0x48 qui représente ‘H’
  4. Modifiez les octets du fichier pour qu’il représente “Hi World!” et enregistrez le résultat
    1. Ouvrez votre nouveau fichier sur l’ordinateur pour vérifier son contenu
  5. Quelle est la taille du fichier que vous vous attendiez à avoir ?
    1. Vérifiez la taille du fichier sur l’ordinateur

ASCII Art

L’ASCII Art (ou Art ASCII en français) est le principe de réaliser des images uniquement grâce à des caractères ASCII. Plus d’information sur Wikipédia

  /^ ^\
 / 0 0 \
 V\ Y /V
  / - \
 /    |
V__) ||


 _._     _,-'""`-._
(,-.`._,'(       |\`-/|
    `-.-' \ )-`( , o o)
          `-    \`_`"'-

Représentation des images

Comme nous l’avons vu en cours, une image peut être stocké sous une forme matricielle par l’ordinateur. Nous allons voir concrètement à quoi ressemble un fichier image au format bitmap.

Bitmap

Un des formats d’image matricielle les plus simples est le bitmap. Un fichier bitmap est composé trois parties principales:

Vous trouverez un exemple détaillé d’un fichier bitmap sur wikipédia.

Si on concatène toutes les valeurs hexadécimales du tableau, on devrait obtenir le fichier bitmap mentionné.

Encodage d’un fichier bitmap

  1. Téléchargez le fichier square4.bmp qui est un carré blanc composé de 4x4 pixels
  2. Ouvrez-le sur votre ordinateur afin de vérifier son contenu (il faut beaucoup zoomer comme l’image est très petite)
  3. Ouvrez-le sur l’éditeur hexadécimal HexEd.it
    1. L’en-tête du fichier prend les 0x36 premiers octets, ne les modifiez-pas
    2. Les données commencent à l’adresse 0x36 (vous pouvez voir l’adresse actuelle en haut à droite) et sont composées uniquement de FF
    3. Il y a exactement 48 octets FF : 3 octets par pixel et il y a 16 pixels donc le compte est bon
    4. Les trois premiers octets encodent la couleur du pixel en bas à gauche de l’image
    5. Les triplets RGB sont inversés : 00 00 FF représente le rouge et FF 00 00 le bleu
  4. Modifiez le fichier pour que l’image ressemble à l’une des images suivantes :
    1. https://www.figma.com/file/fF2pNMNEkUbVkaCvrYn4ph/TPs
    2. Choisissez une image sur 4x4 Pixels et utilisez un color picker pour avoir les codes couleurs

Retour à l’accueil