From 4e7d26038d7f14416fc87f53568f0038a8fffce3 Mon Sep 17 00:00:00 2001 From: Dimitri Merejkowsky Date: Fri, 28 Jun 2019 18:03:31 +0200 Subject: [PATCH] more work --- sessions/python-14.md | 34 +++++++++++++++++++++------------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/sessions/python-14.md b/sessions/python-14.md index e53b201..6eba8b2 100644 --- a/sessions/python-14.md +++ b/sessions/python-14.md @@ -73,9 +73,20 @@ On peut interpréter des octets comme du texte - c'est la table ASCII * Ça sert à *envoyer* du texte sur des terminaux d'où les "caractères" non-imprimables dans la liste * Mais c'est une convention *très* utilisée -# En ASCII +# Utiliser ASCII en Python -C'est aussi la façon dont l'affiche python +Avec `ord` et `chr` + +```python +>>> ord('a') +97 +>>> chr(98) +'b' +``` + +# Affichage des bytearrays en Python + +Python utilise ASCII pour afficher les bytearrays si les caractères sont "imprimables" ```python >>> data = bytearray([97,98,99]) @@ -83,6 +94,14 @@ C'est aussi la façon dont l'affiche python bytearray(b"abc") ``` +Et `\x` et le code hexa sinon: + +```python +>>> data = bytearray([7, 69, 76, 70]) +>>> data +bytearray(b'\x07ELF') +``` + # Types La variable `b"abc"` est une "chaîne de bits", de même que `"abc"` est une "chaîne de caractères". @@ -122,17 +141,6 @@ Par contre on peut modifier un bytearray bytearray("_oo") ``` - -# Quand ce n'est pas imprimable - -Python affiche `\x` et le code hexa: - -```python ->>> data = bytearray([7, 69, 76, 70]) ->>> data -bytearray(b'\x07ELF') -``` - # Plus loin que l'ASCII Pas de caractères accentuès dans ASCII. Du coup, on a d'autres *conventions* qu'on appelle "encodage".