Python Conwert ciąg na bajty

Python Conwert ciąg na bajty
Obiekt bajtowy składa się z serii bajtów. Są one czytane w maszynie i można je natychmiast zapisać na dysku. Ciągi są w formacie czytelnym człowieka i muszą być zakodowane przed użyciem. Tekst można zmapować na dysku za pomocą wielu różnych rodzajów kodowania. Najczęściej używane są systemy kodujące ASCII i UTF-8.

Bajty i sznurki są dobrze wyróżnione w Pythonie. Dostarczając kodowanie, możesz kodować ciąg do odbierania bajtów i dekodować bajty, aby uzyskać ciąg. Konwersje interpisji są powszechne, ale ciągami do bajtów stają się obecnie coraz bardziej powszechne, ponieważ powszechnie musimy tłumaczyć ciągi na bajty podczas pracy z plikami lub uczeniem maszynowym. Powinieneś pamiętać, że konwersje mogą się nie powieść i sposób rozważania błędów należy rozważyć.

Rzućmy okiem na kilka ilustracji, w jaki sposób można to zakończyć. Dowiemy się o przekształceniu łańcucha Pythona w bajty w tym przewodniku. Dwie metody są sprawdzane, abyś mógł wybrać ten, który najlepiej pasuje do twoich pragnień. Chociaż istnieje kilka technik przekształcania ciągów Pythona na bajty, skoncentrujemy się na najczęstszych i prostych. Teraz spójrzmy na kilka przykładów.

Przykład 1:

Aby przekonwertować ciąg na bajty, możemy użyć wbudowanej klasy bajtów Pythona: po prostu dostarczyć ciąg jako pierwszy argument do obiektu funkcji () [natywny kod] klasy bajtów, a następnie kodowanie kodowania. Początkowo mamy ciąg zatytułowany „MY_STR”. Przekształciliśmy ten konkretny ciąg na bajty.

my_str = „Witamy w Python”
str_one = bajty (my_str, „utf-8”)
str_two = bajty (my_str, „ASCII”)
print (str_one, „\ n”)
dla bajtu w str_one:
druk (bajt, end = ")
Drukuj („\ n”)
dla bajtów w str_toja:
druk (bajt, end = ")

Takie podejście, jak widać, przekształciło ciąg w serię bajtów. Zauważ, że ta funkcja przekształca obiekty w niezmienne bajty; Jeśli potrzebujesz metody zmiennej, zamiast tego użyj metody bajtearray (). Pozycja została wyprodukowana w formacie tekstowym, który jest łatwy do odczytania, ale dane, które zawiera. Oto wynik wdrożenia powyższego kodu.

Przykład 2:

W tym przykładzie zastosowano metodę encode () do przetłumaczenia danych. Aby przekonwertować struny Python na bajty, jest to najczęściej stosowany i zalecany sposób. Jednym z głównych powodów jest to, że łatwiej jest go odczytać. Składnia metody kodowania jest następująca:

# strunowy.Encode (Encoding = Encoding, errors = errors)

Ciąg, który chcesz konwertować, jest określany jako ciąg. Zastosowana metoda kodowania nazywa się „kodowaniem.„Błąd„ ciąg ”pokazuje komunikat o błędzie. UTF-8 stał się standardem od czasu Python 3.

my_str = "Przykładowy kod do konwersji"
my_str_encoded = my_str.Encode (Encoding = 'UTF-8')
druk (my_str_encoded)
dla bajtów w my_str_encoded:
druk (bajty, end = ")

Jako przykład użyliśmy String my_str = „Przykładowy kod do konwersji”. Wykorzystaliśmy kodowanie do konwersji po zainicjowaniu łańcucha, a następnie wydrukowaliśmy wyjście ciągów. Następnie wydrukowaliśmy poszczególne bajty w następujący sposób:

Przykład 3:

W naszym trzecim przykładzie ponownie używamy metody encode () do konwertowania ciągów na bajty. To wygodny sposób na przekształcenie strun na bajty.

my_str = "Dowiedz się o programowaniu"
Drukuj (my_str)
print (typ (my_str))
str_Object = my_str.ENCODE („UTF-8”)
print (str_Object)
print (typ (Str_Object))

Uważamy my_str = ”Dowiedz się o programowaniu” jako źródło, które należy przekształcić w bajty w powyższym kodzie. W następnym kroku zmieniliśmy ciąg na bajty za pomocą metody encode (). Przed konwersją i po konwersji funkcja type () jest wykorzystywana do sprawdzenia typu obiektu. Enc = UTF-8 jest używany tutaj.

Powyższy kod wygenerował następujące dane wyjściowe.

Wniosek

Oba te podejścia skutecznie rozwiązują ten sam problem; Dlatego wybór jednej metody nad drugą sprowadza się do osobistych preferencji. Zalecamy jednak wybranie opcji, która najlepiej spełnia Twoje potrzeby. Metoda BYTE () zwraca obiekt, którego nie można zmienić. W rezultacie, jeśli potrzebujesz zmiennego obiektu, rozważ użycie bysterray (). Obiekt powinien mieć rozmiar 0 = x 256 dla metod bajtów ().