78 lines
2.7 KiB
Plaintext
78 lines
2.7 KiB
Plaintext
------ TP03 -----
|
||
|
||
|
||
I. Reconstituer un texte à partir de son encodage utf-8.
|
||
|
||
Question :
|
||
00000000 c2 a5 2c 20 e2 99 a0 2c 20 e2 84 97 2c 20 24 2c
|
||
00000010 20 c2 a3 2c 20 e2 82 ac 2c e2 98 bb 2c 20 61 72
|
||
00000020 65 20 6e 6f 74 20 61 6c 6c 20 63 75 72 72 65 6e
|
||
00000030 63 79 20 73 79 6d 62 6f 6c 73 2e 0a
|
||
|
||
Réponse : On convertit l'octet en binaire. Le nombre de 1 au début de l'octet correspond au nombre d'octets
|
||
nécessaire à la représentation du caractère. On omet les premiers 1 et tous les "10" au début de
|
||
tous les autres octets. On regroupe ensuite le reste par par paquets de 4 bits en partant de la droite.
|
||
On obtient donc :
|
||
|
||
¥, ♠, ⓟ, $, £, €, ☻, are not all currency symbols.
|
||
|
||
|
||
|
||
II. La commande read du shell.
|
||
|
||
Question 1 : Revoir dans le TP 02 comment faire pour accéder à la documentation d’une commande
|
||
interne au shell
|
||
|
||
Réponse : man
|
||
|
||
|
||
|
||
Question 2 : Revoir dans le TP 02 comment faire pour accéder à la valeur d’une variable du shell.
|
||
|
||
Réponse : echo $variable
|
||
|
||
|
||
|
||
Question 3 : Tester à la ligne de commande la saisie par read de la valeur d’une variable disons x.
|
||
|
||
Réponse : read affecte à la variable la valeur que l'on écrit dans le terminal après exécution de la commande
|
||
|
||
|
||
|
||
Question 4 : Quelle option donner à read pour faire précéder sa saisie par l’affichage à l’écran d’une
|
||
chaîne de caractères ?
|
||
|
||
Réponse : -r
|
||
|
||
|
||
III. Une commande pour afficher les caractères UNICODE.
|
||
|
||
Question 1 : Quelle option donner à echo pour qu’elle interprète les valeurs données en hexadécimal
|
||
comme les valeurs de caractères UNICODE ? Consulter la documentation appropriée.
|
||
|
||
Réponse : echo -e "\U2660"
|
||
|
||
Question 2 : En utilisant ce qu’on a appris dans la partie pr´ec´edente, ´ecrire une ligne de commandes
|
||
qui demande `a l’utilisateur de donner une valeur (en hexa), puis affiche le caract`ere
|
||
UNICODE correspondant.
|
||
|
||
Réponse : echo -n "Type an HEX UNICODE: " ; read x; echo -e "Corresponding CHAR: \U$x"
|
||
|
||
Question 3 : Placer maintenant dans un fichier print_unicode_char, la ligne de commandes construite
|
||
pr´ec´edemment. Que faut-il faire pour pouvoir ex´ecuter print_unicode_char directement
|
||
comme une commande ?
|
||
|
||
Réponse : chmod u+x print_unicode_char ; ./print_unicode_char
|
||
|
||
IV. Une commande pour afficher l’encodage utf-8 d’un texte.
|
||
|
||
Question 1 : Consulter la page du manuel de hexdump pour voir quelle option on lui a donn´ee dans
|
||
l’illustration de la partie I.
|
||
|
||
Réponse : hexdump -C ou -X
|
||
|
||
Question 2 : crire une ligne de commandes qui affiche en hexad´ecimal l’encodage utf-8 d’un caract`ere
|
||
donn´e dans la ligne de commande en hexad´ecimal par sa valeur. Quelle forme de lancement
|
||
est sugg´er´ee ici.
|
||
|
||
Réponse : echo -en "\U$1" | hexdump -X | head -n1 | cut -d' ' --complement -f1 |