Préface
La nouvelle fonctionnalité la plus importante de Python 3 est probablement une distinction plus claire entre le texte et les données binaires. Le texte est toujours Unicode et est représenté par le type str, et les données binaires sont représentées par le type bytes. Python 3 ne mélange pas str et bytes de manière implicite, ce qui rend la distinction entre les deux particulièrement claire. Vous ne pouvez pas concaténer des chaînes et des paquets d'octets, rechercher des chaînes dans des paquets d'octets (et vice versa) et transmettre des chaînes à des fonctions qui prennent des paquets d'octets comme paramètres (et vice versa).
Comment créer des octets données en python3.0
bytes([1,2,3,4,5,6,7,8,9]) bytes("python", 'ascii') # 字符串,编码
Définissez d'abord une chaîne originale,
Python 3.2.3 (default, Apr 11 2012, 07:15:24) [MSC v.1500 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> website = 'http://www.www.php.cn/' >>> type(website) <class 'str'> >>> website 'http://www.www.php.cn/' >>>
Encoder selon utf-8 et convertir en octets
>>> website_bytes_utf8 = website.encode(encoding="utf-8") >>> type(website_bytes_utf8) <class 'bytes'> >>> website_bytes_utf8 b'http://www.www.php.cn/' >>>
Encoder selon gb2312 et convertir en octets
>>> website_bytes_gb2312 = website.encode(encoding="gb2312") >>> type(website_bytes_gb2312) <class 'bytes'> >>> website_bytes_gb2312 b'http://www.php.cn/' >>>
Décoder en chaîne, laisser vide par défaut
>>> website_string = website_bytes_utf8.decode() >>> type(website_string) <class 'str'> >>> website_string 'http://www.php.cn/' >>> >>>
Décoder en chaîne, utiliser la méthode gb2312
>>> website_string_gb2312 = website_bytes_gb2312.decode("gb2312") >>> type(website_string_gb2312) <class 'str'> >>> website_string_gb2312 'http://www.php.cn/' >>>
Pour plus d'articles liés à la conversion entre octets et chaîne en python3, veuillez faire attention au site Web PHP chinois !