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