Как перевести число в байты python
Перейти к содержимому

Как перевести число в байты python

Как в Python «красиво/правильно» преобразовать «число» в байты и обратно?

Для целых можно так (число должно быть неотрицательным):

(1).to_bytes(2, byteorder=’little’)
(-1+2**16).to_bytes(2, byteorder=’little’)

Для произвольных следует использовать struct.pack

struct.pack(«i», -1)
struct.pack(«f», math.pi)

Ответ написан более трёх лет назад
Комментировать
Нравится 1 Комментировать
Ответы на вопрос 0
Ваш ответ на вопрос

Войдите, чтобы написать ответ

python

  • Python

Как превратить свою аватарку в Telegram в часы?

  • 1 подписчик
  • час назад
  • 15 просмотров

python

  • Python
  • +2 ещё

Учу python. Реально ли найти работу в аналитике данных на 4-6 часов в день?

  • 1 подписчик
  • 2 часа назад
  • 18 просмотров

Байты (bytes и bytearray)

Python 3 логотип

Байтовые строки в Python — что это такое и с чем это едят? Байтовые строки очень похожи на обычные строки, но с некоторыми отличиями. Попробуем выяснить, с какими.

Что такое байты? Байт — минимальная единица хранения и обработки цифровой информации. Последовательность байт представляет собой какую-либо информацию (текст, картинку, мелодию. ).

Создаём байтовую строку:

    
   Что делать с байтами? Хотя байтовые строки поддерживают практически все строковые методы, с ними мало что нужно делать. Обычно их надо записать в файл / прочесть из файла и преобразовать во что-либо другое (конечно, если очень хочется, то можно и распечатать). Для преобразования в строку используется метод decode:
 Bytearray в python - массив байт. От типа bytes отличается только тем, что является изменяемым. Про него, в общем-то, больше рассказать нечего.

Для вставки кода на Python в комментарий заключайте его в теги

Перевод байтов в строку в Python 3

В ходе разработки на Python часто возникают ситуации, когда необходимо работать с данными, представленными в виде байтов. Например, при чтении данных из файла или при получении ответа от веб-сервера. Сам по себе тип bytes довольно удобен для манипуляций на уровне байтов, однако, для вывода информации на экран или сохранения в текстовый файл, обычно требуется конвертация в строку.

Рассмотрим типичную ситуацию. Предположим, есть некоторый объект типа bytes :

my_bytes = b'This is some bytes'

Цель — преобразовать my_bytes в строку.

В Python 3 для преобразования байт в строку используется метод decode() . Этот метод применяется к объекту типа bytes и возвращает строку. Важно знать, что decode() принимает один аргумент — название кодировки, в которой представлены исходные байты. Если аргумент не указан, по умолчанию используется кодировка ‘utf-8’.

Таким образом, чтобы преобразовать my_bytes в строку, достаточно выполнить следующую операцию:

my_string = my_bytes.decode()

Теперь my_string — это строка, которую можно напечатать, записать в файл или использовать в любых других операциях, предусмотренных для строк.

print(my_string)

В результате на экран будет выведено: This is some bytes .

Стоит обратить внимание, что если исходные байты представлены в другой кодировке, необходимо указать эту кодировку в качестве аргумента метода decode() . Например, если байты закодированы в ‘cp1251’, то преобразование в строку будет выглядеть так:

my_string = my_bytes.decode('cp1251')

Таким образом, преобразование байтов в строку в Python 3 — это простая и удобная операция, которая позволяет эффективно работать с данными различных типов.

Байты¶

Байтовые строки очень похожи на обычные строки, но с некоторыми отличиями.

Что такое байты? Байт - минимальная единица хранения и обработки цифровой информации. Последовательность байт представляет собой какую-либо информацию (текст, картинку, мелодию. ).

Создание байтовой строки¶

Создаём байтовую строку:

>>> b'bytes' b'bytes' >>> 'Байты'.encode('utf-8') b'\xd0\x91\xd0\xb0\xd0\xb9\xd1\x82\xd1\x8b' >>> bytes('bytes', encoding = 'utf-8') b'bytes' >>> bytes([50, 100, 76, 72, 41]) b'2dLH)' 

Функция bytes принимает список чисел от 0 до 255 и возвращает байты, получающиеся применением функции chr .

>>> chr(50) '2' >>> chr(100) 'd' >>> chr(76) 'L' 

Что делать с байтами? Хотя байтовые строки поддерживают практически все строковые методы, с ними мало что нужно делать. Обычно их надо записать в файл / прочесть из файла и преобразовать во что-либо другое (конечно, если очень хочется, то можно и распечатать). Для преобразования в строку используется метод decode :

>>> b'\xd0\x91\xd0\xb0\xd0\xb9\xd1\x82\xd1\x8b'.decode('utf-8') 'Байты' 

Bytearray¶

Bytearray в Python - массив байт. От типа bytes отличается только тем, что является изменяемым.

>>> b = bytearray(b'hello world!') >>> b bytearray(b'hello world!') >>> b[0] 104 >>> b[0] = b'h' Traceback (most recent call last): File "", line 1, in b[0] = b'h' TypeError: an integer is required >>> b[0] = 105 >>> b bytearray(b'iello world!') >>> for i in range(len(b)): . b[i] += i . >>> b bytearray(b'ifnos%>vzun,') 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *