Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Einführung in die integrierte Bytearray-Funktion von Python

Detaillierte Einführung in die integrierte Bytearray-Funktion von Python

高洛峰
高洛峰Original
2017-03-21 11:23:411832Durchsuche

英文文档:

Klasse bytearray([Quelle[, Kodierung[, Fehler]]])

Gibt ein neues Array von Bytes zurück. Die bytearray Klasse ist eine veränderbare Folge von ganzen Zahlen im Bereich 0 <= x < 256. Es verfügt über die meisten der üblichen Methoden veränderlicher Sequenzen, die in Typen veränderlicher Sequenzen beschrieben werden, sowie über die meisten Methoden, die der Typ bytes hat, siehe Bytes und Bytearray-Operationen.

Der optionale Parameter source kann verwendet werden, um das Array auf verschiedene Arten zu initialisieren:

  • Wenn ja eine Zeichenfolge, Sie müssen auch die Kodierungsparameter (und optional Fehler) angeben; bytearray() konvertiert dann die Zeichenfolge mithilfe von str.encode() in Bytes.

  • Wenn es sich um eine Ganzzahl handelt, Das Array hat diese Größe und wird mit Null-Bytes initialisiert.

  • Wenn es sich um ein Objekt handelt, das der Schnittstelle „Puffer“ entspricht, einem schreibgeschützten Puffer des Das Objekt wird zum Initialisieren des Byte-Arrays verwendet.

  • Wenn es sich um ein Iterable handelt, muss es ein Iterable von ganzen Zahlen im Bereich <span class="pre" style="margin: 0px; padding: 0px;">0 <span class="pre" style="margin: 0px; padding: 0px;"><= <span class="pre" style="margin: 0px;">x <span class="pre" style="margin: 0px;"> < <span class="pre" style="margin: 0px; padding: 0px;">256<code class="docutils literal" style="margin: 0px; padding: 0px;"><span class="pre" style="margin: 0px; padding: 0px;">0 <span class="pre" style="margin: 0px; padding: 0px;"><= <span class="pre" style="margin: 0px; padding: 0px;">x <span class="pre" style="margin: 0px; padding: 0px;">< <span class="pre" style="margin: 0px; padding: 0px;">256</span></span></span></span></span>

, die als anfänglicher Inhalt des verwendet werden Array.

Ohne Argument wird ein Array der Größe 0 erstellt.说明:

1. Der Rückgabewert ist ein neues Byte-Array

2. Wenn keiner der drei Parameter übergeben wird, wird ein Byte-Array mit der Länge 0 zurückgegeben

>>> b = bytearray()
>>> b
bytearray(b&#39;&#39;)
>>> len(b)
0

3. Wenn der Quellparameter ein String ist, muss auch der Codierungsparameter bereitgestellt werden. Die Funktion konvertiert den String mithilfe der str.encode-Methode

>>> bytearray(&#39;中文&#39;)
Traceback (most recent call last):
  File "<pyshell#48>", line 1, in <module>
    bytearray(&#39;中文&#39;)
TypeError: string argument without an encoding
>>> bytearray(&#39;中文&#39;,&#39;utf-8&#39;)
bytearray(b&#39;\xe4\xb8\xad\xe6\x96\x87&#39;)

4. Wenn der Quellparameter eine Ganzzahl ist, geben Sie ein leeres Byte-Array mit der durch diese Ganzzahl angegebenen Länge zurück

>>> bytearray(2)
bytearray(b&#39;\x00\x00&#39;)
>>> bytearray(-2) #整数需大于0,使用来做数组长度的
Traceback (most recent call last):
  File "<pyshell#51>", line 1, in <module>
    bytearray(-2)
ValueError: negative count

5. Wenn der Quellparameter ein Objekt ist, das die Pufferschnittstelle implementiert, werden die Bytes im schreibgeschützten Modus in das Byte-Array eingelesen und zurückgegeben

6 Wenn der Quellparameter ein ist iterierbares Objekt, dann dieses iterierbare Objekt Die Elemente müssen 0 <= x < 256 entsprechen, damit sie im Array

>>> bytearray([1,2,3])
bytearray(b&#39;\x01\x02\x03&#39;)
>>> bytearray([256,2,3]) #不在0-255范围内报错
Traceback (most recent call last):
  File "<pyshell#53>", line 1, in <module>
    bytearray([256,2,3])
ValueError: byte must be in range(0, 256)
initialisiert werden können

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in die integrierte Bytearray-Funktion von Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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