Chaînes d'octets Python : qu'y a-t-il derrière le préfixe "b" ?
En Python, vous pouvez rencontrer des chaînes préfixées par un "b" minuscule , comme dans "b'abcdef'". Ce préfixe signifie une chaîne d'octets littérale, un type différent des chaînes Unicode classiques.
Octets vs. Chaînes Unicode
Chaînes Unicode (représentées sans le préfixe "b") se composent de séquences de points de code Unicode, représentant essentiellement des caractères de différentes langues. En revanche, les chaînes d'octets stockent des séquences d'entiers compris entre 0 et 255, représentant des données binaires brutes ou du texte codé.
Quand utiliser les chaînes d'octets
Chaînes d'octets sont généralement utilisés pour modéliser des données binaires, telles que des images, du son ou des données cryptées. Ils peuvent également stocker du texte codé, qui peut ensuite être décodé en chaînes Unicode à l'aide du codec approprié (par exemple, UTF-8).
Création et gestion de chaînes d'octets
Vous pouvez créer des chaînes d'octets en utilisant plusieurs méthodes :
Les chaînes d'octets sont immuables, ce qui signifie que vous ne pouvez pas modifier leur contenu. Pour les données binaires mutables, utilisez plutôt les objets bytearray().
Conversion entre octets et chaînes Unicode
Pour convertir une chaîne d'octets en chaîne Unicode, utilisez le decode( ) avec le codec approprié :
strvalue = bytesvalue.decode('utf-8')
Pour convertir une chaîne Unicode en chaîne d'octets, utilisez la méthode encode() :
bytesvalue = strvalue.encode('utf-8')
Compatibilité et utilisation
Python 2 a également pris en charge la création de chaînes littérales avec le préfixe "b" . Cependant, dans Python 3, il est recommandé d'utiliser explicitement le préfixe "b" lorsque vous avez besoin de chaînes d'octets, car cela permet de les distinguer des chaînes Unicode.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!