Aller au contenu

Repr. du texte (UTF-8)

Point de code → représentation⚓︎

Exercice inverse ici

Énoncé

Représenter le caractère « ? », dont le point de code est ?? en représentation en UTF-8.

Rappel de la norme UTF-8

Cette norme n'est pas à connaître par cœur et sera toujours fournie avec les exercices.

La norme UTF-8 indique que le point de code d'un caractère est encodé soit sur un octets, soit sur deux octets, soit sur trois octets, soit sur quatre octets, selon le nombre de bits requis pour écrire le point de code en binaire :

  • Si le point de code s'écrit en binaire sur 1 à 7 bits inclus, alors on utilisera un seul octet et écrira le point de code en binaire sur les 7 bits x ci-dessous :

    [0xxx xxxx]UTF-8

  • Si le point de code s'écrit en binaire sur 8 à 11 bits inclus, alors on utilisera deux octets et écrira le point de code en binaire sur les 11 bits x ci-dessous :

    [110x xxxx 10xx xxxx]UTF-8

  • Si le point de code s'écrit en binaire sur 12 à 16 bits inclus, alors on utilisera trois octets et écrira le point de code en binaire sur les 16 bits x ci-dessous :

    [1110 xxxx 10xx xxxx 10xx xxxx]UTF-8

  • Si le point de code s'écrit en binaire sur 17 à 21 bits inclus, alors on utilisera quatre octets et écrira le point de code en binaire sur les 21 bits x ci-dessous :

    [1111 0xxx 10xx xxxx 10xx xxxx 10xx xxxx]UTF-8

Réponse

[ ]UTF-8

Correction

Tout d'abord, on écrit le point de code en binaire :

2

Ce point de code peut donc tenir sur 7 bits, ce qui correspond à la représentation UTF-8 sur un octet :

[0xxx xxxx]UTF-8

On place le point de code en binaire à la place des x de la représentation, en ajoutant des 0 à gauche si nécessaire (pour compléter les 7 bits prévus), pour obtenir la représentation UTF-8 :

[0]UTF-8

Tout d'abord, on écrit le point de code en binaire :

2

Ce point de code ne peut pas tenir sur 7 bits, mais il peut tenir sur 11 bits, ce qui correspond à la représentation UTF-8 sur deux octets :

[110x xxxx 10xx xxxx]UTF-8

On place le point de code en binaire à la place des x de la représentation, en ajoutant des 0 à gauche si nécessaire (pour compléter les 11 bits prévus), pour obtenir la représentation UTF-8 :

[110x xxxx 10xx xxxx]UTF-8

Tout d'abord, on écrit le point de code en binaire :

2

Ce point de code ne peut pas tenir ni sur 7 bits ni sur 11 bits, mais il peut tenir sur 16 bits, ce qui correspond à la représentation UTF-8 sur trois octets :

[1110 xxxx 10xx xxxx 10xx xxxx]UTF-8

On place le point de code en binaire à la place des x de la représentation, en ajoutant des 0 à gauche si nécessaire (pour compléter les 16 bits prévus), pour obtenir la représentation UTF-8 :

[1110 xxxx 10xx xxxx 10xx xxxx]UTF-8

Tout d'abord, on écrit le point de code en binaire :

2

Ce point de code ne peut pas tenir ni sur 7 bits, ni sur 11 bits, ni sur 16 bits, mais il peut tenir sur 21 bits, ce qui correspond à la représentation UTF-8 sur quatre octets :

[1111 0xxx 10xx xxxx 10xx xxxx 10xx xxxx]UTF-8

On place le point de code en binaire à la place des x de la représentation, en ajoutant des 0 à gauche si nécessaire (pour compléter les 21 bits prévus), pour obtenir la représentation en UTF-8 :

[1111 0xxxx 10xx xxxx 10xx xxxx 10xx xxxx]UTF-8

Représentation → point de code⚓︎

Exercice inverse ici

Énoncé

Trouver le point de code du caractère qui est représenté en UTF-8 par les bits [?]UTF-8.

Rappel de la norme UTF-8

Cette norme n'est pas à connaître par cœur et sera toujours fournie avec les exercices.

La norme UTF-8 indique que le point de code d'un caractère est encodé soit sur un octets, soit sur deux octets, soit sur trois octets, soit sur quatre octets, selon le nombre de bits requis pour écrire le point de code en binaire :

  • Si le point de code s'écrit en binaire sur 1 à 7 bits inclus, alors on utilisera un seul octet et écrira le point de code en binaire sur les 7 bits x ci-dessous :

    [0xxx xxxx]UTF-8

  • Si le point de code s'écrit en binaire sur 8 à 11 bits inclus, alors on utilisera deux octets et écrira le point de code en binaire sur les 11 bits x ci-dessous :

    [110x xxxx 10xx xxxx]UTF-8

  • Si le point de code s'écrit en binaire sur 12 à 16 bits inclus, alors on utilisera trois octets et écrira le point de code en binaire sur les 16 bits x ci-dessous :

    [1110 xxxx 10xx xxxx 10xx xxxx]UTF-8

  • Si le point de code s'écrit en binaire sur 17 à 21 bits inclus, alors on utilisera quatre octets et écrira le point de code en binaire sur les 21 bits x ci-dessous :

    [1111 0xxx 10xx xxxx 10xx xxxx 10xx xxxx]UTF-8

Réponse

10

Correction

Cette représentation commence par 0, on est donc dans le cas de un seul octet :

[0xxx xxxx]UTF-8

Le point de code est écrit sur 7 bits :

[0]UTF-8

On a donc le point de code :

2 = 10

À titre indicatif, il s'agit du caractère « ? » selon la norme Unicode.

Cette représentation commence par 110, on est donc dans le cas de deux octets :

[110x xxxx 10xx xxxx]UTF-8

Le point de code est écrit sur 11 bits :

[110x xxxx 10xx xxxx]UTF-8

On a donc le point de code :

2 = 10

À titre indicatif, il s'agit du caractère « ? » selon la norme Unicode.

Cette représentation commence par 1110, on est donc dans le cas de trois octets :

[1110 xxxx 10xx xxxx 10xx xxxx]UTF-8

Le point de code est écrit sur 16 bits :

[1110 xxxx 10xx xxxx 10xx xxxx]UTF-8

On a donc le point de code :

2 = 10

À titre indicatif, il s'agit du caractère « ? » selon la norme Unicode.

Cette représentation commence par 11110, on est donc dans le cas de quatre octets :

[1111 0xxx 10xx xxxx 10xx xxxx 10xx xxxx]UTF-8

Le point de code est écrit sur 21 bits :

[1111 0xxxx 10xx xxxx 10xx xxxx 10xx xxxx]UTF-8

On a donc le point de code :

2 = 10

À titre indicatif, il s'agit du caractère « ? » selon la norme Unicode.