Heim > Artikel > Backend-Entwicklung > Detaillierte Erläuterung der Python-String-, Bytes- und Bytearray-Typen
Python3 unterscheidet zwischen Text- und Binärdaten. Der Text hat die Unicode-Kodierung vom Typ str und wird zur Anzeige verwendet. Der Binärtyp ist der Bytetyp und wird zur Speicherung und Übertragung verwendet. Bytes ist eine Folge von Bytes und str ist eine Folge von Unicode. In diesem Artikel werden hauptsächlich der Python-String-Typ, der Byte-Typ und der Bytearray-Typ vorgestellt. Freunde, die ihn benötigen, können darauf zurückgreifen.
1. str-Typ:
>>> s = u'你好' >>> s '你好' >>> type(s) <class 'str'>
Byte-Typ:
>>> b = b'abc' >>> b b'abc' >>> type(b) <class 'bytes'>
2. Die Konvertierungsbeziehung zwischen str und Bytes: str-->encode()-->bytes-->decode()-->str
Konvertierungsmethode Eins : encode(), decode()
>>> a = u'你好' >>> b = a.encode('utf-8') >>> b b'\xe4\xbd\xa0\xe5\xa5\xbd' >>> type(b) <class 'bytes'> >>> new_a = b.decode('utf-8') >>> new_a '你好' >>> type(new_a) <class 'str'>
Konvertierungsmethode zwei: bytes(), str()
>>> a = u'你好' >>> b= bytes(a, encoding='utf-8') >>> b b'\xe4\xbd\xa0\xe5\xa5\xbd' >>> type(b) <class 'bytes'> >>> new_a = str(b, encoding='utf-8') >>> new_a '你好' >>> type(new_a) <class 'str'>
3. Bytearray-Typ
Die Bytearray-Klasse ist eine Variablensequenz mit dem Bereich 0 <
Der optionale Quellparameter kann verwendet werden, um das Array auf verschiedene Arten zu initialisieren:
• Wenn es sich um eine Zeichenfolge handelt, müssen Sie auch die Kodierungsparameter (und optional einen Fehler) angeben. bytearray() verwendet dann str.encode(), um die Zeichenfolge in Bytes umzuwandeln.
• Wenn es sich um eine Ganzzahl handelt, hat das Array diese Größe und wird mit Nullbytes initialisiert.
• Wenn es sich um ein Objekt handelt, das der Pufferschnittstelle entspricht, wird das Byte-Array mithilfe des schreibgeschützten Puffers des Objekts initialisiert.
• Wenn es iterierbar ist, muss es eine Iteration von ganzen Zahlen im Bereich 0 < = Array von 0 sein.
>>> b = bytearray(u'你好', encoding='utf-8') >>> b bytearray(b'\xe4\xbd\xa0\xe5\xa5\xbd') >>> type(b) <class 'bytearray'></p> <p></p>Wenn der Quellparameter eine Ganzzahl ist: <p></p> <p></p> <pre class="brush:php;toolbar:false"> >>> b = bytearray(5) >>> b bytearray(b'\x00\x00\x00\x00\x00') >>> type(b) <class 'bytearray'>Wenn der Quellparameter ein iterierbares Objekt ist, müssen die Elemente dieses iterierbaren Objekts 0 <= x < entsprechen:
>>> b = bytearray([1, 2, 3, 4, 255]) >>> b bytearray(b'\x01\x02\x03\x04\xff') >>> type(b) <class 'bytearray'4. Der Unterschied zwischen Bytes und Bytearray Bytes ist unveränderlich, genau wie str. bytearray ist eine Variable, genau wie list.
>>> b = bytearray() >>> b bytearray(b'') >>> b.append(10) >>> b bytearray(b'\n') >>> b.append(100) >>> b bytearray(b'\nd') >>> b.remove(100) >>> b bytearray(b'\n') >>> b.insert(0, 150) >>> b bytearray(b'\x96\n') >>> b.extend([1, 3, 5]) >>> b bytearray(b'\x96\n\x01\x03\x05') >>> b.pop(2) 1 >>> b bytearray(b'\x96\n\x03\x05') >>> b.reverse() >>> b bytearray(b'\x05\x03\n\x96') >>> b.clear() >>> b bytearray(b'')<p></p>5. Bytes und Bytearray-Konvertierung <p></p> <p></p> <pre class="brush:php;toolbar:false"> >>> b = b'abcdef' >>> bay = bytearray(b) >>> bay bytearray(b'abcdef') >>> b = bytes(bay) >>> b b'abcdef'6. bytearray- und str-Konvertierung
>>> a = 'abcdef' >>> b = bytearray(a, encoding='utf-8') >>> b bytearray(b'abcdef') >>> a = b.decode(encoding='utf-8') >>> a 'abcdef'Verwandte Empfehlungen:
Eine kurze Diskussion über verschiedene Sortiermethoden von numpy arrays_python
Verwenden Sie die Python-Sprache, um die maximale kontinuierliche Teilsequenz zu beschreiben und
Beherrschen Sie Python vollständig
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Python-String-, Bytes- und Bytearray-Typen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!