logo

Jak przekonwertować Int na bajty w Pythonie?

Obiekt int może służyć do reprezentowania tej samej wartości w formacie bajtu. Liczba całkowita reprezentuje bajt i jest przechowywana jako tablica, której najbardziej znacząca cyfra (MSB) jest przechowywana na początku lub na końcu tablicy.

Metoda 1: int.tobytes()



Wartość int można przekonwertować na bajty za pomocą metody int.to_bytes(). Metoda jest wywoływana na wartości int i nie jest obsługiwana przez Python 2 (wymaga minimum Python3) do wykonania.

wydruk Javy

Składnia: int.to_bytes(długość, kolejność bajtów)

Argumenty :



długość – żądana długość tablicy w bajtach.

byteorder – kolejność tablicy, w której ma zostać przeprowadzona konwersja typu int na bajty. kolejność bajtów może mieć dowolne wartości mały gdzie najbardziej znaczący bit jest przechowywany na końcu, a najmniej na początku, lub duży , gdzie MSB jest przechowywane na początku, a LSB na końcu.

Wyjątki:



OverflowError jest zwracany w przypadku, gdy długość wartości całkowitej nie jest wystarczająco duża, aby zmieścić się w długości tablicy.

Poniższe programy ilustrują użycie tej metody w Pythonie:

Python3




# declaring an integer value> integer_val>=> 5> > # converting int to bytes with length> # of the array as 2 and byter order as big> bytes_val>=> integer_val.to_bytes(>2>,>'big'>)> > # printing integer in byte representation> print>(bytes_val)>

Java śpi
>

>

Wyjście

b'x00x05'>

Python3




# declaring an integer value> integer_val>=> 10> > # converting int to bytes with length> # of the array as 5 and byter order as> # little> bytes_val>=> integer_val.to_bytes(>5>,>'little'>)> > # printing integer in byte representation> print>(bytes_val)>

>

>

Wyjście

b'
x00x00x00x00'>

Metoda 2: Konwersja liczby całkowitej na ciąg i ciągu na bajty

co jest w przypadku sql

To podejście działa i jest kompatybilne w obu wersjach Pythona, 2 i 3. Ta metoda nie przyjmuje jako argumentów długości tablicy ani kolejności bajtów.

  • Wartość całkowitą przedstawioną w formacie dziesiętnym można najpierw przekonwertować na ciąg znaków za pomocą funkcji str(), która przyjmuje jako argument wartość całkowitą, która ma zostać przekonwertowana na odpowiedni odpowiednik ciągu.
  • Ten odpowiednik ciągu jest następnie konwertowany na sekwencję bajtów poprzez wybranie żądanej reprezentacji dla każdego znaku, czyli kodowania wartości ciągu. Odbywa się to za pomocą metody str.encode().

Python3




# declaring an integer value> int_val>=> 5> > # converting to string> str_val>=> str>(int_val)> > # converting string to bytes> byte_val>=> str_val.encode()> print>(byte_val)>

zestaw c++

>

>

Wyjście

b'5'>