Python

Converteer Bytearray naar Bytes in Python

Converteer Bytearray naar Bytes in Python
Veel verschillende soorten gegevensobjecten worden ondersteund door Python. Twee daarvan zijn de objecten bytearray en bytes. De bytearray() functie retourneert een array-object van bytes. Dit object kan worden gewijzigd en ondersteunt het gehele getal van 0 tot 255. De bytes() functie retourneert bytes-objecten, kan niet worden gewijzigd en ondersteunt de gehele getallen van 0 tot 255. Dit artikel beschrijft deze functies en legt uit hoe: bytearray objecten kunnen worden omgezet in bytes voorwerpen.

Syntaxis van bytearray() Methode

bytearray ([ data_source [, codering [, fouten]]])

De drie argumenten van deze methode zijn optioneel. Het eerste argument wordt gebruikt om de lijst met bytes te initialiseren. Als het eerste argument de string is, wordt het tweede argument gebruikt voor codering. Ten slotte wordt het derde argument gebruikt om de fout weer te geven als de codering mislukt.

Syntaxis van bytes() Methode

bytes ([data_source [, codering [, fouten]]])

Alle argumenten van de bytes() functie zijn optioneel, zoals de bytearray() methode. De functies van deze argumenten zijn ook hetzelfde als de bytearray() methode, hierboven vermeld.

De methode om te converteren: bytearray naar bytes in Python wordt hieronder getoond, met enkele eenvoudige voorbeelden voor een beter begrip van dit proces.

Voorbeeld 1: Converteer lijstgegevens van bytearray naar bytes

Als de functie bytearray() slechts één argument bevat, zal de waarde van het argument een woordenboekdatum of variabele zijn. Het volgende voorbeeld laat zien hoe een woordenboekobject kan worden omgezet in een bytearray-object en hoe een bytearray-object vervolgens kan worden omgezet in een byte-object. Vervolgens wordt de eerste for-lus gebruikt om de waarden van de vertaaltabel van ASCII-codes weer te geven en de tweede for-lus wordt gebruikt om de karakters van de overeenkomstige ASCII-codes weer te geven.

#!/usr/bin/env python3
 
# Definieer de lijst
lijstgegevens = [72, 69, 76, 76, 79]
# Print de inhoud van de lijst
print("\nDe woordenboekwaarden zijn:\n", listdata)
 
# Initialiseer bytearray-object met lijst
byteArrayObject = bytearray(lijstgegevens)
# Print bytearray-objectwaarde
print("\nDe uitvoer van bytearray() methode :\n", byteArrayObject)
 
# Converteer het bytearray-object naar het bytes-object
byteObject = bytes (byteArrayObject)
# Print bytes objectwaarde
print("\nDe uitvoer van bytes() methode:\n", byteObject)
 
print("\nDe ASCII-waarden van bytes")
# Herhaal het bytes-object met loop
voor val in byteObject:
print(val," end=")
 
print("\nDe tekenreekswaarden van bytes")
# Herhaal het bytes-object met loop
voor val in byteObject:
print(chr(val),", end=")

Uitgang:

De volgende uitvoer zal verschijnen na het uitvoeren van het script:. Hier zijn 72, 69, 76 en 79 de ASCII-code van respectievelijk 'H', 'E', 'L' en 'O'.

Voorbeeld 2: Converteer tekenreeksgegevens van bytearray naar bytes

Het volgende voorbeeld toont de conversie van bytearray-objecten naar byte-objecten in stringgegevens. Er worden twee argumenten gebruikt in de bytearray()-methode van dit script. Het eerste argument bevat de tekenreekswaarde, terwijl het tweede argument de coderende tekenreeks bevat. Hier wordt 'utf-8'-codering gebruikt om te converteren naar een bytearray-object. De decoderen() methode wordt in het script gebruikt om de bytes-objecten om te zetten in tekenreeksgegevens. Dezelfde codering wordt gebruikt op het moment van conversie.

#!/usr/bin/env python3
 
# Neem een ​​tekenreekswaarde
text = input("Voer een willekeurige tekst in:\n")
 
# Initialiseer bytearray-object met string en codering
byteArrObj = bytearray(tekst, 'utf-8')
print("\nDe uitvoer van de methode bytesarray() :\n", byteArrObj)
 
# Converteer bytearray naar bytes
byteObj = bytes(byteArrObj)
print("\nDe uitvoer van bytes() methode :\n", byteObj)
 
# Converteer bytes-waarde naar string met behulp van emcoding
print("\nDe tekenreekswaarden van bytes")
print(byteObj.decoderen("utf-8"))

Uitgang:

De volgende uitvoer zal verschijnen na het uitvoeren van het script:.

Voorbeeld 3: converteer integergegevens van bytearray naar bytes

De vorige voorbeelden tonen de conversie van bytearray en bytes op basis van woordenboek- en stringgegevens. Dit derde voorbeeld toont de conversie van bytearray naar bytes op basis van de invoergegevens. Hier wordt de invoerwaarde omgezet in een geheel getal en als argument doorgegeven via de functie bytearray() en wordt het bytearray-object vervolgens omgezet in een bytes-object. De null-waarden op basis van het gehele getal worden weergegeven als uitvoer van het object bytearray en bytesbytes. Het totale aantal bytes wordt geteld via de len()-methode aan het einde van het script, en zal gelijk zijn aan de integerwaarde die als argument wordt doorgegeven aan de bytearray()-methode.

#!/usr/bin/env python3
 
proberen:
# Neem een ​​willekeurig getal
text = int(input("Voer een willekeurig getal in:  "))
 
# Initialiseer bytearray-object met nummer
byteArrObj = bytearray(tekst)
print("\nDe uitvoer van de methode bytesarray() :\n", byteArrObj)
 
# Converteer bytearray-object naar bytes-object
byteObj = bytes(byteArrObj)
print("\nDe uitvoer van bytes() methode :\n", byteObj)
 
# Druk de grootte van het bytes-object af
print("\nDe lengte van het bytes-object: ",len(byteObj))
behalve ValueError:
print("Voer een willekeurige numerieke waarde in")

Uitgang:

Nadat het script is uitgevoerd, wordt 6 als invoer in de volgende uitvoer genomen:. De zes null-waarden worden weergegeven als de uitvoer van bytearray en bytes. Wanneer de nulwaarden worden geteld, wordt 6 . weergegeven.

Voorbeeld 4: Bytearray maken met append() en converteren naar bytes

Het volgende voorbeeld laat zien hoe bytearray-objecten kunnen worden gemaakt via de methode append() en worden omgezet in bytes. De variabele arrVal wordt hier gedeclareerd als een bytearray-object. Vervolgens wordt de methode append() zes keer aangeroepen om zes elementen aan de array toe te voegen. De ASCII-codes van de tekens 'P', 'y', 't', 'h', 'o' en 'n' zijn respectievelijk 80, 121, 116, 104, 111 en 1120. Deze worden toegevoegd in het bytearray-object. Dit array-object wordt later geconverteerd naar het bytes-object.

#!/usr/bin/env python3
# Maak bytearray en voeg item toe met append() methode
arrVal = bytearray()
arrVal.toevoegen(80)
arrVal.toevoegen (121)
arrVal.toevoegen(116)
arrVal.toevoegen(104)
arrVal.toevoegen (111)
arrVal.toevoegen(110)
 
# Druk de bytearray()-waarden af
print("\nDe uitvoer van bytearray() methode:\n", arrVal)
 
# Converteer het bytearray-object naar een bytes-object
byteObject = bytes (arrVal)
 
# Print bytes objectwaarde
print("\nDe uitvoer van bytes() methode:\n", byteObject)

Uitgang:

De volgende uitvoer zal verschijnen na het uitvoeren van het script:.

Conclusie

In dit artikel worden verschillende methoden getoond voor het converteren van bytearray naar bytes na het maken van bytearray-objecten. Na het lezen van dit artikel hoop ik dat je het concept van bytearray en bytes begrijpt, weet hoe je bytearray naar bytes kunt converteren en in staat bent om de uitvoer van bytes weer te geven als tekenreeks en tekens.

Microsoft Sculpt Touch draadloze muis Review
Ik las onlangs over de Microsoft Sculpt Touch draadloze muis en besloot hem te kopen. Nadat ik het een tijdje had gebruikt, besloot ik mijn ervaring e...
AppyMouse trackpad en muisaanwijzer op het scherm voor Windows-tablets
Tabletgebruikers missen vaak de muisaanwijzer, vooral wanneer ze gewend zijn om de laptop te gebruiken. Het touchscreen Smartphones en tablets hebben ...
Middelste muisknop werkt niet in Windows 10
De middelste muis knop helpt u door lange webpagina's en schermen met veel gegevens te bladeren. Als dat stopt, zul je uiteindelijk het toetsenbord ge...