Konvertieren Sie Bytearray in Bytes in Python

Convert Bytearray Bytes Python



Viele verschiedene Arten von Datenobjekten werden von Python unterstützt. Zwei davon sind die Objekte bytearray und Bytes . Die bytearray() -Funktion gibt ein Array-Objekt von Bytes zurück. Dieses Objekt ist veränderbar und unterstützt die ganze Zahl von 0 bis 255. Die Byte () Die Funktion gibt Byte-Objekte zurück, ist nicht veränderbar und unterstützt die Ganzzahlen von 0 bis 255. Dieser Artikel beschreibt diese Funktionen und erklärt, wie bytearray Objekte können umgewandelt werden in Bytes Objekte.

Syntax der bytearray() Methode

bytearray ([Datenquelle[,Codierung[,Fehler]]])

Die drei Argumente dieser Methode sind optional. Das erste Argument wird verwendet, um die Byteliste zu initialisieren. Wenn das erste Argument der String ist, wird das zweite Argument zur Codierung verwendet. Schließlich wird das dritte Argument verwendet, um den Fehler anzuzeigen, wenn die Codierung fehlschlägt.







Syntax der bytes() Methode

Bytes ([Datenquelle[,Codierung[,Fehler]]])

Alle Argumente der Byte () Funktion sind optional, wie die bytearray() Methode. Die Funktionen dieser Argumente sind auch die gleichen wie die bytearray() oben erwähnte Methode.



Die Methode zum Konvertieren bytearray zu Bytes in Python wird unten gezeigt, wobei einige einfache Beispiele zum besseren Verständnis dieses Prozesses verwendet werden.



Beispiel 1: Konvertieren von Listendaten von bytearray in bytes

Wenn die Funktion bytearray() nur ein Argument enthält, ist der Wert des Arguments ein Wörterbuchdatum oder eine Variable. Das folgende Beispiel zeigt, wie ein Dictionary-Objekt in ein Bytearray-Objekt umgewandelt werden kann und wie dann ein Bytearray-Objekt in ein Byte-Objekt umgewandelt werden kann. Als nächstes wird die erste for-Schleife verwendet, um die Werte der Übersetzungstabelle von ASCII-Codes anzuzeigen, und die zweite for-Schleife wird verwendet, um die Zeichen der entsprechenden ASCII-Codes anzuzeigen.





#!/usr/bin/env python3

# Definiere die Liste
Listendaten= [72, 69, 76, 76, 79]
# Drucken Sie den Inhalt der Liste
drucken(' Die Wörterbuchwerte sind: ',Listendaten)

# Bytearray-Objekt mit Liste initialisieren
byteArrayObject= bytearray(Listendaten)
# Bytearray-Objektwert drucken
drucken(' Die Ausgabe der bytearray()-Methode: ',byteArrayObject)

# Konvertieren Sie das bytearray-Objekt in ein bytes-Objekt
byteObject= Bytes(byteArrayObject)
# Byte-Objektwert drucken
drucken(' Die Ausgabe der bytes()-Methode: ',byteObject)

drucken(' Die ASCII-Werte von Bytes)
# Iteriere das Bytes-Objekt mit Schleife
zumStundeninbyteObjekt:
drucken(Stunden,'',Ende='')

drucken(' Die Stringwerte von bytes')
# Iteriere das Bytes-Objekt mit Schleife
zumStundeninbyteObjekt:
drucken(chr(Stunden),'',Ende='')

Ausgabe

Die folgende Ausgabe wird angezeigt, nachdem das Skript ausgeführt wurde. Hier sind 72, 69, 76 und 79 die ASCII-Codes von „H“, „E“, „L“ bzw. „O“.



Beispiel 2: Konvertieren von String-Daten von bytearray in bytes

Das folgende Beispiel zeigt die Konvertierung von Bytearray-Objekten in Byte-Objekte in Zeichenfolgendaten. In der Methode bytearray() dieses Skripts werden zwei Argumente verwendet. Das erste Argument enthält den Zeichenfolgenwert, während das zweite Argument die Zeichenfolge für die Codierung enthält. Hier wird die Codierung 'utf-8' verwendet, um in ein Bytearray-Objekt zu konvertieren. Die dekodieren() -Methode wird im Skript verwendet, um die bytes-Objekte in Zeichenfolgendaten umzuwandeln. Zum Zeitpunkt der Konvertierung wird dieselbe Codierung verwendet.

#!/usr/bin/env python3

# Nehmen Sie einen String-Wert
Text= Eingang('Geben Sie einen beliebigen Text ein: ')

# Bytearray-Objekt mit String und Codierung initialisieren
byteArrObj= bytearray(Text, 'utf-8')
drucken(' Die Ausgabe der Methode bytesarray(): ',byteArrObj)

# Bytearray in Bytes umwandeln
byteObj= Bytes(byteArrObj)
drucken(' Die Ausgabe der bytes()-Methode: ',byteObj)

# Bytes-Wert mit emcoding in String umwandeln
drucken(' Die Stringwerte von bytes')
drucken(byteObj.dekodieren('utf-8'))

Ausgabe

Die folgende Ausgabe wird angezeigt, nachdem das Skript ausgeführt wurde.

Beispiel 3: Integer-Daten von bytearray in bytes konvertieren

Die vorherigen Beispiele zeigen die Konvertierung von bytearray und bytes basierend auf Dictionary- und String-Daten. Dieses dritte Beispiel zeigt die Konvertierung von bytearray in Bytes basierend auf den Eingabedaten. Dabei wird der Eingabewert in einen Integer-Wert umgewandelt und über die Funktion bytearray() als Argument übergeben, und das bytearray-Objekt wird dann in ein bytearray-Objekt umgewandelt. Die auf der Ganzzahl basierenden Nullwerte werden als Ausgabe des bytearray- und bytes-Objekts angezeigt. Die Gesamtzahl der Bytes wird über die Methode len() am Ende des Skripts gezählt und entspricht dem ganzzahligen Wert, der als Argument an die Methode bytearray() übergeben wird.

#!/usr/bin/env python3

Versuchen:
# Nimm einen beliebigen Zahlenwert
Text= int(Eingang('Beliebige Zahl eingeben: '))

# Bytearray-Objekt mit Nummer initialisieren
byteArrObj= bytearray(Text)
drucken(' Die Ausgabe der Methode bytesarray(): ',byteArrObj)

# Bytearray-Objekt in Bytes-Objekt konvertieren
byteObj= Bytes(byteArrObj)
drucken(' Die Ausgabe der bytes()-Methode: ',byteObj)

# Geben Sie die Größe des Bytes-Objekts aus
drucken(' Die Länge des bytes-Objekts: ',len(byteObj))
außer ValueError:
drucken('Beliebigen numerischen Wert eingeben')

Ausgabe

Nach dem Ausführen des Skripts wird 6 als Eingabe in der folgenden Ausgabe verwendet. Die sechs Nullwerte werden als Ausgabe von bytearray und bytes angezeigt. Wenn die Nullwerte gezählt werden, wird 6 angezeigt.

Beispiel 4: Bytearray erstellen mit append() und Convert to bytes

Das folgende Beispiel zeigt, wie Bytearray-Objekte über die Methode append() erstellt und in Bytes umgewandelt werden können. Die Variable arrVal wird hier als bytearray-Objekt deklariert. Als nächstes wird die Methode append() sechsmal aufgerufen, um dem Array sechs Elemente hinzuzufügen. Die ASCII-Codes der Zeichen „P“, „y“, „t“, „h“, „o“ und „n“ sind 80, 121, 116, 104, 111 bzw. 1120. Diese werden im bytearray-Objekt hinzugefügt. Dieses Array-Objekt wird später in das bytes-Objekt umgewandelt.

#!/usr/bin/env python3

# Erstellen Sie ein Bytearray und fügen Sie ein Element mit der Methode append() hinzu
arrVal= bytearray()
AnrVal.anhängen(80)
AnrVal.anhängen(121)
AnrVal.anhängen(116)
AnrVal.anhängen(104)
AnrVal.anhängen(111)
AnrVal.anhängen(110)

# Die bytearray()-Werte ausgeben
drucken(' Die Ausgabe der bytearray()-Methode: ',arrVal)

# Konvertieren Sie das bytearray-Objekt in ein bytes-Objekt
byteObject= Bytes(arrVal)

# Byte-Objektwert drucken
drucken(' Die Ausgabe der bytes()-Methode: ',byteObject)

Ausgabe

Die folgende Ausgabe wird angezeigt, nachdem das Skript ausgeführt wurde.

Abschluss

In diesem Artikel werden verschiedene Methoden zum Konvertieren von Bytearray in Bytes nach dem Erstellen von Bytearray-Objekten gezeigt. Nachdem Sie diesen Artikel gelesen haben, hoffe ich, dass Sie das Konzept von Bytearray und Bytes verstehen, wissen, wie man Bytearray in Bytes umwandelt und in der Lage ist, die Ausgabe von Bytes als String und Zeichen anzuzeigen.