Detaillierte Erläuterung der Python-String-, Bytes- und Bytearray-Typen

小云云
Freigeben: 2017-12-18 09:17:47
Original
6633 Leute haben es durchsucht

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 &#39;str&#39;>
Nach dem Login kopieren

Byte-Typ:

 >>> b = b'abc'
 >>> b
 b'abc'
 >>> type(b)
 <class &#39;bytes&#39;>
Nach dem Login kopieren

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 &#39;bytes&#39;>
 >>> new_a = b.decode('utf-8')
 >>> new_a
 '你好'
 >>> type(new_a)
 <class &#39;str&#39;>
Nach dem Login kopieren

Konvertierungsmethode zwei: bytes(), str()

 >>> a = u'你好'
 >>> b= bytes(a, encoding='utf-8')
 >>> b 
 b'\xe4\xbd\xa0\xe5\xa5\xbd'
 >>> type(b)
 <class &#39;bytes&#39;>
 >>> new_a = str(b, encoding='utf-8')
 >>> new_a
 '你好'
 >>> type(new_a)
 <class &#39;str&#39;>
Nach dem Login kopieren

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.

Wenn der Quellparameter eine Zeichenfolge ist:

 >>> b = bytearray(u'你好', encoding='utf-8')
 >>> b
 bytearray(b'\xe4\xbd\xa0\xe5\xa5\xbd')
 >>> type(b)
 <class &#39;bytearray&#39;></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 &#39;bytearray&#39;>
Nach dem Login kopieren

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 &#39;bytearray&#39;
Nach dem Login kopieren

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'
Nach dem Login kopieren

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'
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage