------ 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