Heim > Artikel > Backend-Entwicklung > Konvertierung zwischen Bytes und String in Python3
Vorwort
Das wohl wichtigste neue Feature von Python 3 ist eine klarere Unterscheidung zwischen Text und Binärdaten. Text ist immer Unicode und wird durch den Typ str dargestellt, und Binärdaten werden durch den Typ bytes dargestellt. Python 3 vermischt str und bytes nicht implizit, was die Unterscheidung zwischen den beiden besonders deutlich macht. Sie können keine Zeichenfolgen und Bytepakete verketten, in Bytepaketen nach Zeichenfolgen suchen (und umgekehrt) und keine Zeichenfolgen an Funktionen übergeben, die Bytepakete als Parameter akzeptieren (und umgekehrt).
So erstellen Sie Bytes Daten in Python3.0
bytes([1,2,3,4,5,6,7,8,9]) bytes("python", 'ascii') # 字符串,编码
Legen Sie zunächst eine Originalzeichenfolge fest,
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/' >>>
Nach UTF-8 kodieren und in Bytes konvertieren
>>> website_bytes_utf8 = website.encode(encoding="utf-8") >>> type(website_bytes_utf8) <class 'bytes'> >>> website_bytes_utf8 b'http://www.www.php.cn/' >>>
Nach gb2312 kodieren und in Bytes konvertieren
>>> website_bytes_gb2312 = website.encode(encoding="gb2312") >>> type(website_bytes_gb2312) <class 'bytes'> >>> website_bytes_gb2312 b'http://www.php.cn/' >>>
In String dekodieren, standardmäßig leer lassen
>>> website_string = website_bytes_utf8.decode() >>> type(website_string) <class 'str'> >>> website_string 'http://www.php.cn/' >>> >>>
In String dekodieren, gb2312-Methode verwenden
>>> website_string_gb2312 = website_bytes_gb2312.decode("gb2312") >>> type(website_string_gb2312) <class 'str'> >>> website_string_gb2312 'http://www.php.cn/' >>>
Weitere Artikel zur Konvertierung zwischen Bytes und Strings in Python3 finden Sie auf der chinesischen PHP-Website!