BYTES |
Octets |
---|---|
Python |
Syntaxe
bytes([source[, encoding[, errors]]]) |
Paramètres
Nom | Description |
---|---|
source | Ce paramètre permet d'indiquer la source initialisant un octet. |
encoding | Ce paramètre permet d'indiquer la chaîne de caractères de l'encodage. |
errors | Ce paramètre permet d'indiquer l'action à entreprendre lorsque un échec de conversion se produit. |
Description
Cette fonction permet de retourner une nouvel objet avec un octet, soit une valeur entre 0 et 255.
Algorithme
MODULE BYTES(entrée=None, encodage=None, erreurs=None) SI entrée est un itérable (par exemple une liste, un tuple ou un autre bytes) ALORS Créer un bytes à partir de l'itérable BOUCLE POUR CHAQUE élément de l'itérable FAIRE Vérifier si l'élément est dans l'intervalle valide des octets (0 à 255) Ajouter l'élément à l'objet bytes FIN BOUCLE POUR CHAQUE RETOURNE l'objet bytes FIN SI SI entrée est une chaîne de caractères (string) ALORS SI encodage est spécifié ALORS Convertir la chaîne en octets en utilisant l'encodage et l'option erreurs RETOURNE le bytes résultant FIN SI FIN SI SI entrée est un entier (par exemple une taille) ALORS Créer un bytes de taille spécifiée, avec des octets initialisés à zéro RETOURNE le bytes FIN SI SI entrée est None ALORS Créer un bytes vide RETOURNE le bytes vide FIN SI |
Remarques
- La fonction bytes() permet de créer un objet de type octets (non modifiable), souvent utilisé pour manipuler des données binaires. C'est particulièrement utile pour travailler avec des fichiers binaires, des flux réseau, ou des encodages précis. Contrairement à bytearray, l'objet bytes est immuable.
- Le paramètre source peut être une chaîne de caractères, un entier, une séquence de nombres entiers (entre 0 et 255), ou un objet compatible buffer. Par exemple, bytes([65, 66, 67]) renverra b'ABC', car 65, 66, 67 sont les codes ASCII de A, B, C.
- Quand source est une chaîne (str), les paramètres encoding et errors deviennent obligatoires. Par exemple, bytes("é", encoding="utf-8") renverra b'\xc3\xa9', car le caractère é est encodé en UTF-8 avec deux octets. Sans encoding, une exception sera levée.
- Le paramètre encoding sert à encoder une chaîne de caractères (type str) en une représentation binaire. Cela permet de contrôler le format d'encodage : UTF-8, ASCII, Latin-1,... Ce paramètre est ignoré si la source est déjà une séquence d'entiers.
- Le paramètre errors permet de gérer les erreurs d'encodage. Par exemple, on peut choisir 'ignore', 'replace', ou 'strict' (le comportement par défaut). Cela donne un contrôle fin sur la manière de traiter les caractères non pris en charge par l'encodage choisi.
- Lorsque bytes() est appelé sans argument, il retourne un objet vide : b''. Si on lui passe un entier n, il retourne une séquence d'octets de longueur n remplie de zéros : bytes(4) donne b'\x00\x00\x00\x00'. C'est utile pour initialiser un tampon vide.
- La représentation des objets bytes commence par un préfixe b suivi de la chaîne encodée. Par exemple : b'Python'. Cela permet de différencier les données binaires des chaînes de texte (str) et rappelle que l'objet est composé d'octets, pas de caractères.
- Il est essentiel de bien faire la distinction entre bytes et str en Python 3. Les objets str sont textuels et Unicode, alors que bytes contient des valeurs binaires brutes. Tenter de les mélanger sans encodage ou décodage explicite causera des erreurs de type (TypeError).
Dernière mise à jour : Mercredi, le 14 septembre 2016