Browse Source

more work

master
Dimitri Merejkowsky 5 years ago
parent
commit
4e7d26038d
1 changed files with 21 additions and 13 deletions
  1. +21
    -13
      sessions/python-14.md

+ 21
- 13
sessions/python-14.md View File

@@ -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".