W Python, za każdym razem, gdy coś będzie przechowywać, będzie przechowywać go jako bajt. Bajty nie są czytelne człowieka, a sznurki są postaciami, które można czytać. Za każdym razem, gdy przechowujemy dowolny ciąg, nie będzie on bezpośrednio przechowywać go jako ciąg; zostanie zakodowany w bajtach przy użyciu różnych metod, takich jak ASCII i UTF-8.
Na przykład, „Jestem Linuxhint”.Encode („ASCII”)
W powyższym przykładzie konwertujemy ciąg na bajty za pomocą metody Encode ASCII. A kiedy wydrukujemy go za pomocą metody drukowania Pythona, zobaczymy wyniki takie jak B'I Am A Linuxhint '. Tutaj widzimy, że ciąg podąża za jedną postacią, b. W rzeczywistości nie jesteśmy w stanie odczytać bajtów, ale tutaj funkcja drukowania Pythona dekoduje bajty do formularzy czytelnych ludzi, abyśmy mogli odczytać struny.
Ale w rzeczywistości, kiedy uruchamiamy ten ciąg, aby zobaczyć każdą postać Strings Bajtes, wydrukuje on tak:
str1 = „Jestem Linuxhint”Stworzyliśmy dwa struny. Jeden ciąg jest prosty. A drugim ciągiem są bajty. Kiedy drukujemy oba typy ciągów, otrzymujemy wyniki, jak pokazano poniżej. Poniższe wyniki pokazują, że jeden ciąg to typ bajtów, a jeden inny to typ ciągu.
Teraz wydrukujemy każdą postać obu strun, aby znaleźć różnicę między nimi. Najpierw wydrukujemy ciąg (STR1) za pomocą pętli dla normalnego ciągu.
dla A in STR1:Wyjście:
ITeraz wydrukujemy inny ciąg (STR2), który jest typem bajtów.
dla A in Str2:Wyjście:
73Z powyższych wyników możemy zobaczyć różnice między typem bajtów a typem ciągu. Typ bajtów nie jest formami czytelnymi przez człowieka.
Więc teraz zobaczymy różne metody, które mogą przekształcić bajty na struny.
Metoda 1: Za pomocą funkcji map ()
W tej metodzie użyjemy funkcji map () do konwersji bajtów na format ciągu. Poniższy mały program wyczyści koncepcję.
bajt = [97, 99, 100]Wyjście:
ACDLinia 1: Utworzyliśmy listę bajtu imiona.
Linia 3: Następnie przekazaliśmy znaki elementu na liście jako parametr i bajt jako parametr do funkcji łączenia (), która dołączy do wszystkich znaków po konwersji. Wreszcie wynik jest drukowany.
Metoda 2: Za pomocą funkcji decode ()
Inną metodą jest funkcja decode (). Funkcja dekodowania działa przeciwna do funkcji encode ().
#Konwerguj bajty do ciągu za pomocą Decode ()Wyjście:
b'blogs Linuxhint 'Wyjście:
Blogi LinuxhintLinia 3: Utworzyliśmy ciąg bajtowy.
Linia 4 do 5: Te wiersze po prostu wydrukują informacje o ciągu, który utworzyliśmy w wierszu 3.
Linia 8: Teraz wywoływamy funkcję dekodowania i zapisujemy wynik do nowej nazwy zmiennej.
Linia 11 do 12: Te linie pokazują, że teraz nasz ciąg nie ma już typu bajtów i że możemy potwierdzić typ wyjścia, który jest typem ciągu.
Metoda 3: Korzystanie z kodeków.funkcja dekodowania ()
W tej metodzie będziemy używać kodeków.funkcja dekodowania (). Ta funkcja służy do konwersji łańcucha binarnego na normalne formy. Zobaczmy więc, jak faktycznie działa ta funkcja.
#Konwerguj bajty do ciągów za pomocą Codecs ()Wyjście:
b'blogs Linuxhint 'Wyjście:
Blogi LinuxhintLinia 2: Importujemy kodeki biblioteczne.
Linia 3: Utworzyliśmy ciąg bajtowy.
Linia 4 do 5: Te wiersze po prostu wydrukują informacje o ciągu, który utworzyliśmy w wierszu 3.
Linia 8: Teraz nazywamy Caodecs.Dekoduj funkcję i zapisywanie wyniku do nowej nazwy zmiennej.
Linia 11 do 12: Te linie pokazują, że teraz nasz ciąg nie ma już typu bajtu i możemy potwierdzić typ wyjścia, który jest typem ciągu.
Metoda 4: Za pomocą funkcji str ()
Możemy również przekonwertować bajty na normalne ciągi za pomocą funkcji str (. Mały program do zrozumienia tej metody podano poniżej.
Jeśli __name__ == '__main__':Wyjście:
Wyjście:
Blogi LinuxhintLinia 2: Utworzyliśmy ciąg bajtowy.
Linia 3 do 4: Te wiersze po prostu wydrukują informacje o ciągu, który utworzyliśmy w wierszu 3.
Linia 6: Teraz nazywamy funkcję str () i zapisujemy wynik do nowej nazwy zmiennej.
Linia 7 do 9: Te linie pokazują, że teraz nasz ciąg nie ma już typu bajtu i możemy potwierdzić typ wyjścia, który jest typem ciągu.
Wniosek
Jako programiści Python codziennie pracujemy nad różnymi językami, a czasem otrzymujemy błąd z powodu bajtów. Tak więc w tym artykule staramy się podać niektóre metody konwersji bajtów na ciąg, aby po zastosowaniu wszelkich metod związanych z ciągiem nie otrzymasz żadnego błędu.
W tym samouczku podaliśmy wszystkie pojęcia, których możemy użyć do konwersji bajtów na struny. Możesz wybrać zgodnie z wymaganiami programu.