Informatique Cours S1.13 Codage des caractères

Documents pareils
Jeux de caracte res et encodage (par Michel Michaud 2014)

TP Codage numérique des caractères. Un ordinateur ne manipule que des 0 et des 1 : Comment alors code-t-il du texte?

1 Introduction au codage

Codage d information. Codage d information : -Définition-

Étude des formes de pratiques de la gymnastique sportive enseignées en EPS à l école primaire

TP 1. Prise en main du langage Python

Architecture des ordinateurs Introduction à l informatique

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Informatique Générale

Présentation du langage et premières fonctions

CONJUGUÉ D'UN POINT PAR RAPPORT À UN TRIANGLE

2 Comment fonctionne un ordinateur, dans les grandes lignes

Représentation d un entier en base b

Partie 1. Professeur : Haouati Abdelali. CPGE Lycée Omar Ibn Lkhattab - Meknès haouaticpge@gmail.com

Cours Informatique 1. Monsieur SADOUNI Salheddine

Logiciel de Base. I. Représentation des nombres

Documentation SecurBdF

2.4 Représentation graphique, tableau de Karnaugh

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Algorithme. Table des matières

Le codage informatique

URECA Initiation Matlab 2 Laurent Ott. Initiation Matlab 2

Les droites (d 1 ) et (d 2 ) sont sécantes en A Le point A est le point d intersection des 2 droites

3 ème 2 DÉVELOPPEMENT FACTORISATIONS ET IDENTITÉS REMARQUABLES 1/5 1 - Développements

La mémoire. Un ordinateur. L'octet. Le bit

Limitations of the Playstation 3 for High Performance Cluster Computing

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Initiation à la programmation en Python

VMware ESX : Installation. Hervé Chaudret RSI - Délégation Centre Poitou-Charentes

Les chaînes de caractères

Série D65/D75/D72 Afficheurs digitaux modulaires

Activités numériques [13 Points]

Découverte de Python

Initiation à la Programmation en Logique avec SISCtus Prolog

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Conversion d un entier. Méthode par soustraction

Découverte du tableur CellSheet

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Les intermédiaires privés dans les finances royales espagnoles sous Philippe V et Ferdinand VI

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INFORMATIONS DIVERSES

CHRONIQUE de la société royale LE VIEUX-LIÈGE

Introduction à l informatique en BCPST

PROBLEME(12) Première partie : Peinture des murs et du plafond.

Plan du cours. Historique du langage Nouveautés de Java 7

USTL - Licence ST-A 1ère année Codage de l information TP 1 :

AC AB. A B C x 1. x + 1. d où. Avec un calcul vu au lycée, on démontre que cette solution admet deux solutions dont une seule nous intéresse : x =

PROJET ALGORITHMIQUE ET PROGRAMMATION II

IFT1215 Introduction aux systèmes informatiques

Esterel The french touch star touch esterel advance

DM 1 : Montre Autoquartz ETA

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Excel 2007 Niveau 3 Page 1

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Peut-on perdre sa dignité?

CORRIGE LES NOMBRES DECIMAUX RELATIFS. «Réfléchir avant d agir!»

Utilisation des Leica DISTO avec Bluetooth Smart sur Android 4.3 ou une version ultérieure. V 1.0 Décembre 2013

Concevoir son microprocesseur

Note de cours. Introduction à Excel 2007

1S Modèles de rédaction Enoncés

Algorithmique et programmation : les bases (VBA) Corrigé

Unix/Linux I. 1 ere année DUT. Université marne la vallée

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Présentation du système informatique utilisé et éléments d architecture des ordinateurs

L informatique en BCPST

Représentation géométrique d un nombre complexe

Le chiffre est le signe, le nombre est la valeur.

Projet Matlab : un logiciel de cryptage

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

CODAGE DES SMS. 2 Commandes «AT» 25 3 Matériels utilisés 55 4 Interfacer un téléphone GSM 73 5 Réalisations électroniques 101

Génie Logiciel I. Cours VI - Typage statique / dynamique, fonctions virtuelles et classes abstraites, flots d entrées / sorties, et string

Présentation du cours

Condition inf-sup pour l Elément Fini de Taylor-Hood È ¾ -iso-è ½

INF 321 : mémento de la syntaxe de Java

IFT2880 Organisation des ordinateurs et systèmes

Une version javascript sera disponible directement dans le cours prochainement.

Microprocesseur + Logiciel

Licence Sciences et Technologies Examen janvier 2010

EXCEL PERFECTIONNEMENT SERVICE INFORMATIQUE. Version /11/05

Langage Java. Classe de première SI

Cours d Informatique

Programmation en Java IUT GEII (MC-II1) 1

Cours: Administration d'une Base de Données

Utilisation d objets : String et ArrayList

LE PROCESSUS ( la machine) la fonction f. ( On lit : «fonction f qui à x associe f (x)» )

Progitek Extraire Web s version 4.0 (Prix public 19 NET ) DESCRIPTION


GlobalScape Secure FTP Server Buffer Overflow

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS =

Structure du format BMP, sa lecture, sa construction et son écriture

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Chapitre 1 I:\ Soyez courageux!

Priorités de calcul :

Document d aide au suivi scolaire

Le centre de gestion a le plaisir de vous adresser les statistiques professionnelles élaborées à partir des dossiers de gestion 2013.

SNT4U16 - Initiation à la programmation TD - Dynamique de POP III - Fichiers sources

Logiciel de gestion de caisse et d ardoises

Transcription:

1 Caractères à coder Les caractères à coder sont nombreux. Les caractères alphanumériques comprennent les caractères alphabétiques (de A à Z en alphabet latin), ainsi que les caractères numériques comprenant les chiffres 0 à 9 mais aussi les signes - ou +. Il y a aussi bien d autres caractères : ponctuation, touches clavier (espace, entrée, etc.), etc. 1.1 Code ASCII (American Standard Code for Information Interchange) Le code ASCII a été standardisé en 1963. Il utilise un octet pour encoder 128 caractères : 33 caractères de contrôle, 94 caractères imprimables (lettres, chiffres, etc.), l espace. Figure 1 : Table de conversion ASCII = début de la table de conversion UTF8 (aucune conversion n'est à connaitre) Le code ASCII ne permet d encoder que l alphabet latin, sans accent. Lycée Jules Ferry Cannes Page 1 sur 5 TSI1

1.2 Unicode Afin de coder d'autres caractères que ceux du code ASCII (les accents ), d'autres codages ont été élaborés. Pour obtenir des codages compatibles, on utilise des normes. La première norme d'unicode date de 1991, la dernière (version 9) de 2016. Unicode utilise un nombre variable de bits. Il permet d encoder plus d un million de caractères En pratique, l Unicode associe une valeur à un caractère (mapping). Actuellement, il y a plus de 245000 caractères assignés, 93 écritures différentes (japonais ). Plusieurs encodages sont possibles mais UTF8 (Universal Character Set Transformation Format - 8 bits) est la version utilisée par défaut dans Spyder. Les codes 128 à 160 n'ont pas d'affectation en UTF8 (UTF8 inclus les 128 codes ASCII). N base 10 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 N hexa A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3 B4 Caractère ª «± ² ³ N base 10 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 N hexa B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3 C4 C5 C6 C7 C8 Caractère µ ¹ º» ¼ ½ ¾ À Á Â Ã Ä Å Æ Ç È N base 10 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 N hexa C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC Caractère É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö Ø Ù Ú Û Ü Figure 2 : Extrait de la table UTF8 qui prolonge les 128 premières valeurs (aucune conversion n'est à connaitre) 1.3 Codage avec python 1.3.1 Codage décimal des caractères Obtenir le code décimal (base 10) d'un caractère : fonction ord Exemple : >>> ord ( 'A' ) 65 Obtenir un caractère à partir de son code décimal : fonction chr Exemple : >>> chr(65) 'A' 1.3.2 Codage hexadécimal des caractères Un caractère peut être défini à partir de son numéro UTF-8 \xhh où hh est le numéro de caractère en hexadécimal. Exemple : >>> \x41 'A' 1.3.3 Raccourcis Certains caractères ont une écriture simplifiée : - saut de ligne s'écrit \n. Exemple : >>> print ( 'a\nb' ) a b - tabulation s'écrit \t Exemple : >>> print ( 'a\tb' ) a b Lycée Jules Ferry Cannes Page 2 sur 5 TSI1

2 Chaines de caractères en python 2.1 Format str Le format dans lequel sont stockés les caractères sont des chaines de caractères (string) de type str. Pour convertir un élément quelconque en chaine de caractère on utilise la fonction str. Exemple >>> a=str(12) >>> a '12' On peut comparer des chaines de caractères. Pour cela, python calcule la somme des codes de chacun des caractères. Exemple >>> 'b' < 'd' # traduit en codage UTF8 : 98 < 100 True >>> 'b' < 'D' # traduit en codage UTF8 : 98 < 68 False Les lettres sont ordonnées par ordre croissant de numéro UTF mais les minuscules et les majuscules sont décalées (il est préférable d'utiliser cette comparaison avec des caractères de même casse : soit des minuscules, soit des majuscules). 2.2 Affichage d'une chaine de caractères dans la console La fonction print affiche les chaines de caractères dans la console en codage Unicode (par défaut). Les différents textes à afficher sont séparés par des virgules. Si une variable n'est pas un texte, print le convertit automatiquement pour l'affichage en ajoutant un espace avant et après. Exemple : >>> p = 6 >>> print ( "La valeur de la pression est", 6, "bar.") La valeur de la pression est 6 bar. 2.3 Opérations élémentaires sur les chaines de caractères Opération Python Résultats A="abcde" B="fgh" Déterminer le nombre d éléments de A len(a) 5 Afficher le 3 e élément de A A[2] "c" Afficher le 2e élément en partant de la fin de A A[-2] "d" Extraire les éléments 0 à 3 Concaténer (ajouter) A et B A[1:4] "bcd" A + B "abcdefgh" Multiplication de A par 2 A*2 "abcdeabcde" Lycée Jules Ferry Cannes Page 3 sur 5 TSI1

Vérifier si 2 est dans A 2 in A False ATTENTION : une chaine de caractères n'est pas modifiable. Pour effectuer la modification d'un élément de A, il faut recopier les éléments à conserver et insérer le nouveau caractère. Exemple : remplacement de b par 2 dans la variable A du tableau précédent) : >>> A = A[0:1] + '2' + A[2:] 2.4 Quelques méthodes sur les chaines de caractères Plusieurs méthodes sont associées à la classe des chaines de caractères : Opération Méthode appliquée à la chaine stockée dans chaine1 Couper une chaine avec un caractère chaine1.split ( 'a' ) 'abcdef '.split ( 'a' ) Résultats chaine1="abcabcabc" ['', 'bc', 'bc', 'bc'] ['','bcdef '] Chercher la 1 ère position d'un caractère chaine1.index ('b') 1 Chercher la 1 ère position d'une chaine chaine1.find( 'bc' ) chaine1.find( 'bcde' ) 1-1 # sorte de code d'erreur Convertir en minuscules "ABCDe23".lower() "abcde23" Convertir en majuscules chaine1.upper() "ABCABCABC" Remplacer un caractère par un autre chaine1.replace( 'a', 'z' ) 'zbczbczbc' Ces méthodes ne sont pas à connaitre mais peuvent être présentes dans les sujets (après rappel ou extrait du tutoriel) pour simplifier la manipulation des chaines de caractères. 2.5 Ecriture dans un fichier texte Les chaines de caractères peuvent être enregistrés dans des fichiers en mode texte. Cela permet notamment de réaliser des enregistrements. Opération Instruction Exemple fichier (dans OS) : 'save.txt' fichier (dans python) : fichier Ouvrir un fichier en lecture monfichier = open('fichier.extension','r') fichier = open( 'save.txt', 'r') Lire le fichier chaine de caractères chaine = monfichier.read() mesure = fichier.read () Lycée Jules Ferry Cannes Page 4 sur 5 TSI1

Lire les lignes du fichier liste de chaines de caractères Ouvrir un fichier en écriture (écrase le fichier existant) liste = monfichier.readlines() mesures = fichier.readlines () monfichier = open('fichier.extension','w') fichier = open( 'save.txt', 'w') Ecrire dans un fichier monfichier.write( 'texte' ) fichier.write ( '12 13 14') Références : http://python.developpez.com/cours/apprendre-python3/?page=page_12 http://python.developpez.com/cours/docs.python.org/2.6/reference/lexical_analysis.php#stringliterals Lycée Jules Ferry Cannes Page 5 sur 5 TSI1