| @@ -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 | * Ç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 | * 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 | ```python | ||||
| >>> data = bytearray([97,98,99]) | >>> data = bytearray([97,98,99]) | ||||
| @@ -83,6 +94,14 @@ C'est aussi la façon dont l'affiche python | |||||
| bytearray(b"abc") | bytearray(b"abc") | ||||
| ``` | ``` | ||||
| Et `\x` et le code hexa sinon: | |||||
| ```python | |||||
| >>> data = bytearray([7, 69, 76, 70]) | |||||
| >>> data | |||||
| bytearray(b'\x07ELF') | |||||
| ``` | |||||
| # Types | # Types | ||||
| La variable `b"abc"` est une "chaîne de bits", de même que `"abc"` est une "chaîne de caractères". | 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") | 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 | # Plus loin que l'ASCII | ||||
| Pas de caractères accentuès dans ASCII. Du coup, on a d'autres *conventions* qu'on appelle "encodage". | Pas de caractères accentuès dans ASCII. Du coup, on a d'autres *conventions* qu'on appelle "encodage". | ||||