17.12.2012 Views

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Chaînes de caractères simples et triple-quoted<br />

Syntaxe du langage<br />

CHAPITRE 4<br />

>>> print("Nous avons trouvé une sorcière ! Allons-nous la brûler ?")<br />

Nous avons trouvé une sorcière ! Allons-nous la brûler ?<br />

>>> print('Au secours ! je suis opprimé')<br />

Au secours ! je suis opprimé<br />

>>> print("""on est censé être ici pour s'amuser<br />

... ne nous chamaillons pas pour savoir qui a tué qui""")<br />

on est censé être ici pour s'amuser<br />

ne nous chamaillons pas pour savoir qui a tué qui<br />

Il est par ailleurs possible de préfixer les chaînes par le caractère :<br />

r ou R pour spécifier que le contenu est du texte brut, où les caractères antislash (\)<br />

n’ont plus le même usage. Ce préfixe est surtout utilisé pour travailler avec du<br />

contenu brut de texte, comme :<br />

– lors de recherches de séquences par le biais d’expressions régulières ;<br />

– avec des chaînes riches en antislash, comme les chemins sous Windows<br />

(r'c:\ici\et\la').<br />

u ou U pour spécifier que le texte est une chaîne de caractères Unicode sous<br />

Python 2.<br />

b ou B pour spécifier que le texte est de type bytes depuis Python 2.6.<br />

Normes ASCII et Unicode<br />

Sous Python 2, les chaînes sont par défaut des chaînes de caractères codées sur 8 bits<br />

dont le type est str. Pour exprimer des chaînes de caractères en anglais, ce type<br />

suffit, en se basant sur la norme ASCII (American Standard Code for Information<br />

Interchange) de 1961.<br />

Pour les langues comme le français, les 128 caractères de la table ASCII ne suffisent plus,<br />

et une table étendue sur 256 caractères a permis d’introduire de nouveaux caractères<br />

comme « é » ou « à ». Le problème est que cette extension varie d’une langue à l’autre.<br />

Cette variation entraîne un véritable casse-tête pour les programmes multilingues car il<br />

est nécessaire de gérer des encodages différents en fonction de la langue utilisée.<br />

Pour simplifier ce problème, la norme Unicode a été initiée en 1991. Elle répond à<br />

un souhait d’unification de tous les systèmes d’encodage de caractères pour proposer<br />

un référentiel unique, indépendant de toute plate-forme ou logiciel, et global à toutes<br />

les langues.<br />

EN PRATIQUE Unicode version 3.2<br />

À l’heure où ces lignes sont écrites, la version 3.2 propose 95 221 caractères, symboles et directives.<br />

55

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!