Konwertuj bajtarray na bajty w Pythonie

Convert Bytearray Bytes Python



Python obsługuje wiele różnych typów obiektów danych. Dwa z nich to obiekty tablica bajtowa oraz bajty . ten tablica bajtów() funkcja zwraca obiekt tablicy bajtów. Ten obiekt jest zmienny i obsługuje liczbę całkowitą od 0 do 255 bajty () funkcja zwraca obiekty bajtów, nie można jej zmieniać i obsługuje liczby całkowite od 0 do 255. W tym artykule opiszemy te funkcje i wyjaśnimy, w jaki sposób tablica bajtowa obiekty można zamienić na bajty przedmioty.

Składnia metody bytearray()

tablica bajtowa ([źródło danych[,kodowanie[,błędy]]])

Trzy argumenty tej metody są opcjonalne. Pierwszy argument służy do inicjalizacji listy bajtów. Jeśli pierwszym argumentem jest łańcuch, to drugi argument jest używany do kodowania. Wreszcie trzeci argument służy do wyświetlania błędu, jeśli kodowanie nie powiedzie się.







Składnia bytes() Metoda

bajty ([źródło danych[,kodowanie[,błędy]]])

Wszystkie argumenty bajty () funkcja jest opcjonalna, jak tablica bajtów() metoda. Funkcje tych argumentów są również takie same jak tablica bajtów() metoda, o której mowa powyżej.



Metoda konwersji tablica bajtowa do bajty w Pythonie pokazano poniżej, używając kilku prostych przykładów, aby lepiej zrozumieć ten proces.



Przykład 1: Konwersja danych listy z tablicy bajtów na bajty

Gdy funkcja bytearray() zawiera tylko jeden argument, wartością argumentu będzie dane słownikowe lub zmienna. Poniższy przykład pokazuje, jak obiekt słownika można przekonwertować na obiekt bytearray i jak obiekt bytearray można następnie przekonwertować na obiekt bajtowy. Następnie pierwsza pętla for służy do wyświetlania wartości tablicy translacji kodów ASCII, a druga pętla for służy do wyświetlania znaków odpowiednich kodów ASCII.





#!/usr/bin/env python3

# Zdefiniuj listę
lista danych= [72, 69, 76, 76, 79]
# Wydrukuj zawartość listy
wydrukować(' Wartości słownikowe to: ',lista danych)

# Zainicjuj obiekt bytearray za pomocą listy
byteArrayObject= tablica bajtowa(lista danych)
# Wydrukuj wartość obiektu bytearray
wydrukować(' Dane wyjściowe metody bytearray() : ',byteArrayObject)

# Konwertuj obiekt bytearray na obiekt bajtów
bajtObiekt= bajty(byteArrayObject)
# Drukuj wartość obiektu bajtów
wydrukować(' Dane wyjściowe metody bytes() : ',bajtObiekt)

wydrukować(' Wartości ASCII bajtów)
# Iteruj obiekt bajtów za pomocą pętli
dlagodzinawbajtObiekt:
wydrukować(godzina,'',kończyć się='')

wydrukować(' Wartości ciągu bajtów)
# Iteruj obiekt bajtów za pomocą pętli
dlagodzinawbajtObiekt:
wydrukować(Chr(godzina),'',kończyć się='')

Wyjście

Poniższe dane wyjściowe pojawią się po uruchomieniu skryptu. Tutaj 72, 69, 76 i 79 to kod ASCII odpowiednio „H”, „E”, „L” i „O”.



Przykład 2: Konwersja danych ciągu z tablicy bajtów na bajty

Poniższy przykład przedstawia konwersję obiektów bytearray na obiekty byte w danych ciągu. W metodzie bytearray() tego skryptu używane są dwa argumenty. Pierwszy argument zawiera wartość ciągu, podczas gdy drugi argument zawiera ciąg kodowania. Tutaj kodowanie „utf-8” jest używane do konwersji na obiekt bajtarray. ten rozszyfrować() Metoda jest używana w skrypcie do konwersji obiektów bytes na dane łańcuchowe. To samo kodowanie jest używane podczas konwersji.

#!/usr/bin/env python3

# Weź wartość ciągu
tekst= Wejście('Wprowadź dowolny tekst: ')

# Zainicjuj obiekt bytearray za pomocą ciągu znaków i kodowania
byteArrObj= tablica bajtowa(tekst, „utf-8”)
wydrukować(' Dane wyjściowe metody bytesarray() : ',byteArrObj)

# Konwertuj tablicę bajtów na bajty
bajtObj= bajty(byteArrObj)
wydrukować(' Dane wyjściowe metody bytes() : ',bajtObj)

# Konwertuj wartość bajtów na ciąg znaków za pomocą emcoding
wydrukować(' Wartości ciągu bajtów)
wydrukować(bajtObiekt.rozszyfrować(„utf-8”))

Wyjście

Poniższe dane wyjściowe pojawią się po uruchomieniu skryptu.

Przykład 3: Konwersja danych całkowitych z tablicy bajtów na bajty

Poprzednie przykłady pokazują konwersję tablicy bajtowej i bajtów na podstawie danych słownikowych i łańcuchowych. Ten trzeci przykład pokazuje konwersję tablicy bajtowej na bajty na podstawie danych wejściowych. W tym przypadku wartość wejściowa jest konwertowana na wartość całkowitą i przekazywana jako argument za pomocą funkcji bytearray(), a obiekt bytearray jest następnie konwertowany na obiekt bytes. Wartości null oparte na liczbie całkowitej są wyświetlane jako dane wyjściowe obiektu bytearray i bytes. Całkowita liczba bajtów jest liczona za pomocą metody len() na końcu skryptu i będzie równa wartości całkowitej przekazanej jako argument do metody bytearray().

#!/usr/bin/env python3

próbować:
# Weź dowolną wartość liczbową
tekst= int(Wejście('Wprowadź dowolną liczbę:'))

# Zainicjuj obiekt bytearray z numerem
byteArrObj= tablica bajtowa(tekst)
wydrukować(' Dane wyjściowe metody bytesarray() : ',byteArrObj)

# Konwertuj obiekt bytearray na obiekt bajtów
bajtObj= bajty(byteArrObj)
wydrukować(' Dane wyjściowe metody bytes() : ',bajtObj)

# Wydrukuj rozmiar obiektu bajtów
wydrukować(' Długość obiektu bajtów: ',len(bajtObj))
z wyjątkiem Błąd wartości:
wydrukować(„Wprowadź dowolną wartość liczbową”)

Wyjście

Po uruchomieniu skryptu 6 jest przyjmowane jako dane wejściowe w następujących danych wyjściowych. Sześć wartości null jest wyświetlanych jako dane wyjściowe tablicy bajtów i bajtów. Po zliczeniu wartości zerowych wyświetla się 6.

Przykład 4: Utwórz tablicę bajtów za pomocą append() i konwersji na bajty

Poniższy przykład pokazuje, jak można tworzyć obiekty bytearray za pomocą metody append() i konwertować na bajty. Zmienna arrVal jest tutaj zadeklarowana jako obiekt bajtarray. Następnie sześciokrotnie wywoływana jest metoda append() w celu dodania sześciu elementów do tablicy. Kody ASCII znaków „P”, „y”, „t”, „h”, „o” i „n” to odpowiednio 80, 121, 116, 104, 111 i 1120. Są one dodawane w obiekcie bytearray. Ten obiekt tablicy jest później konwertowany na obiekt bytes.

#!/usr/bin/env python3

# Utwórz tablicę bajtów i dodaj element za pomocą metody append()
ArrVal= tablica bajtowa()
ArrVal.dodać(80)
ArrVal.dodać(121)
ArrVal.dodać(116)
ArrVal.dodać(104)
ArrVal.dodać(111)
ArrVal.dodać(110)

# Wydrukuj wartości bytearray()
wydrukować(' Dane wyjściowe metody bytearray() : ',ArrVal)

# Konwertuj obiekt bytearray na obiekt bytes
bajtObiekt= bajty(ArrVal)

# Drukuj wartość obiektu bajtów
wydrukować(' Dane wyjściowe metody bytes() : ',bajtObiekt)

Wyjście

Poniższe dane wyjściowe pojawią się po uruchomieniu skryptu.

Wniosek

W tym artykule przedstawiono różne metody konwersji bytearray na bajty po utworzeniu obiektów bytearray. Po przeczytaniu tego artykułu mam nadzieję, że rozumiesz pojęcie tablicy bajtowej i bajtów, znasz sposób konwersji tablicy bajtowej na bajty i potrafisz wyświetlać dane wyjściowe bajtów jako ciąg i znaki.