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'>