Outils pour utilisateurs

Outils du site


nsi:premiere:exercices_fichier_texte

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
nsi:premiere:exercices_fichier_texte [2021/10/05 19:21] goupillwikinsi:premiere:exercices_fichier_texte [2021/10/22 23:35] (Version actuelle) – ↷ Page déplacée de nsi:tds:serveur_web20:nsi:premiere:exercices_fichier_texte à nsi:premiere:exercices_fichier_texte goupillwiki
Ligne 1: Ligne 1:
 ====== Exercices sur les fichiers texte ====== ====== Exercices sur les fichiers texte ======
- 
-===== Exercice 1 ===== 
- 
-On vous fournit le fichier ''monimage.txt''. 
-  - Essayez d'ouvrir ce fichier avec un éditeur de texte. 
-  - Renommez le fichier et donnez-lui l'extension ''.bmp'' 
-  - Ouvrez le fichier avec un visionneur d'image. 
- 
-===== Exercice 2 ===== 
- 
-Que produisent les commandes suivantes -- //en console Python// : 
- 
-<code python> 
->>>"école".encode('ascii') 
->>> "école".encode('iso-8859-1') 
->>> "école".encode('utf-8') 
-</code> 
- 
-<WRAP box>**Comprendre le résultat :** 
-  * Le ''b'' en tête de la réponse, signifie que ce n'est plus un texte mais une suite d'octets (byte). 
-  * Quand ces octets correspondent à de l'ASCII, on donne le caractère correspondant. 
-  * Sinon, on écrit l'octet en hexadécimal. En ISO, le ''é'' était codé par l'octet ''E9''. En UTF-8, ce même ''é'' était codé par les deux octets ''C3 A9''. 
-</WRAP> 
- 
-On va tenter les opérations inverses : 
-<code python> 
->>> b'\xc3\xa9cole'.decode('utf-8') 
->>> b'\xe9cole'.decode('iso-8859-1') 
-</code> 
- 
-Sans surprise, le décodage se passe normalement. 
- 
-Essayons maintenant de décoder de travers : 
- 
-<code python> 
->>> b'\xc3\xa9cole'.decode('iso-8859-1') 
->>> b'\xe9cole'.decode('utf-8') 
-</code> 
- 
-<WRAP box>**Comprendre le résultat :** 
-  * Dans le premier cas, pour ISO, chaque octet est un caractère. ''C3 A9'' sont compris comme ''%%©%%'' 
-  * Dans le deuxième cas, UTF-8 rencontre ''E9'' suivi de ''%%'c'%%'', ce qui ne devrait pas arriver, d'où l'erreur. 
-</WRAP> 
- 
-<WRAP tip>Vous reconnaissez une situation courante sur internet, quand un problème d'encodage rend les caractères accentués illisibles.</WRAP> 
- 
-===== Exercice 3 ===== 
- 
-On vous fournit une liste de fichiers. 
-  - Déterminer l'encodage des différents fichiers. 
-  - L'un des fichier est en ISO-8859-1. Faites en une copie en le convertissant en UTF-8. 
-  - Ouvrir les deux versions du fichier avec un éditeur hexadécimal. Repérer dans les deux cas les caractères accentués et constater les différences de codage. 
- 
-===== Exercice 4 ===== 
- 
-On vous fournit différents fichiers ''.html''. 
- 
-Ouvrez-les avec des navigateurs et constatez le problème. Corrigez-les. 
- 
-===== Exercice 5, statistiques ===== 
- 
-Des fichiers textes sont fournis pour vos tests. 
- 
-Programmer et tester les fonctions : 
-  -  ''nombre_caracteres(nom_fichier)'' qui retourne le nombre de caractères du fichier dont on donne le nom, 
-  -  ''nombre_mots(nom_fichier)'' qui retourne le nombre de mots du fichier dont on donne le nom. 
- 
-Vous pouvez enregistrer ces fonctions dans un fichier ''statistiques.py'' puis tester en utilisant ''statistiques.test.py''. 
  
 ===== Exercice 6, cotations ===== ===== Exercice 6, cotations =====
nsi/premiere/exercices_fichier_texte.1633454479.txt.gz · Dernière modification : de goupillwiki