logo

Як перетворити Int на байти в Python?

Об'єкт int можна використовувати для представлення того самого значення у форматі байта. Ціле число представляє байт, зберігається як масив із старшим розрядом (MSB), який зберігається на початку або в кінці масиву.

Спосіб 1: int.tobytes()



Значення int можна перетворити на байти за допомогою методу int.to_bytes(). Метод викликається для значення int, не підтримується Python 2 (потрібен мінімум Python3) для виконання.

count distinct sql

Синтаксис: int.to_bytes(довжина, порядок байтів)

Аргументи :



length – бажана довжина масиву в байтах.

byteorder – порядок масиву для виконання перетворення int в байти. byteorder може мати будь-які значення мало де старший біт зберігається в кінці, а найменший на початку, або великий , де MSB зберігається на початку, а LSB у кінці.

Винятки:



OverflowError повертається, якщо довжина цілого значення недостатньо велика для розміщення в довжині масиву.

Наступні програми ілюструють використання цього методу в Python:

Python3


pothineni ram



# 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)>

>

>

Вихід

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

>

>

Вихід

b'
x00x00x00x00'>

Спосіб 2: Перетворення цілого числа в рядок і рядка в байти

Цей підхід працює і сумісний з обома версіями Python, 2 і 3. Цей метод не приймає довжину масиву та порядок байтів як аргументи.

  • Ціле значення, представлене в десятковому форматі, можна спочатку перетворити на рядок за допомогою функції str(), яка приймає як аргумент ціле значення, яке потрібно перетворити на відповідний рядковий еквівалент.
  • Цей еквівалент рядка потім перетворюється на послідовність байтів шляхом вибору потрібного представлення для кожного символу, який кодує значення рядка. Це робиться методом 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)>

java сон
>

>

Вихід

b'5'>