From a520fc50bc2f2d1b7b2219f6061fd105b9ed1b65 Mon Sep 17 00:00:00 2001 From: Dimitri Merejkowsky Date: Sat, 29 Jun 2019 12:29:27 +0200 Subject: [PATCH] proofread 4 --- sessions/python-14.md | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/sessions/python-14.md b/sessions/python-14.md index c2b4862..42aa57a 100644 --- a/sessions/python-14.md +++ b/sessions/python-14.md @@ -44,6 +44,16 @@ On peut *interpréter* bits et octets comme des nombres "0xda2" ``` +# Poids des bits + +```python +0b0010010 # 18 +0b0010011 # 19 +0b1010010 # 82 +``` + +Le premier bit est plus "fort" que le dernier - little endian + # Manipuler des octets en Python Avec `bytearray` par exemple: @@ -143,6 +153,19 @@ Par contre on peut modifier un bytearray bytearray("goo") ``` +# Conversion octets - texte + +Avec `encode()` et `decode()`: + +```python +>>> text = "hello" +>>> text.encode("ascii") +b"hello" +>>> octets = b"goodbye" +>>> text = octets.decode("ascii") +"goodbye" +``` + # Plus loin que l'ASCII @@ -151,13 +174,13 @@ Pas de caractères accentués dans ASCII. Du coup, on a d'autres *conventions* q ```python # latin-1: utilisé sur certains vieux sites # souvent européens ->>> bytearray([0b11101001]).decode('latin-1') +>>> bytearray([233]).decode('latin-1') 'é' ``` ```python # cp850: dans l'invite de commande Windows ->>> bytearray([0b11101001]).decode('cp850') +>>> bytearray([233]).decode('cp850') 'Ú' ```