Как ввести десятичные / двоичные числа при создании байтовых объектов в Python? - PullRequest
1 голос
/ 10 апреля 2010

Я использую Python 3.1.1.

Я знаю, что могу создавать байтовые объекты, используя байтовый литерал в форме b '...'. В этих объектах байтов каждый байт может быть представлен как символ (в коде ascii, если я не ошибаюсь) или как шестнадцатеричное / восьмеричное число. Шестнадцатеричные и восьмеричные числа можно вводить, используя экранирование \ x для шестнадцатеричных чисел и просто \ для восьмеричных чисел.

Однако для десятичных или двоичных чисел не существует escape-последовательностей. Есть ли способ ввести их в байтовые объекты?

Ответы [ 2 ]

3 голосов
/ 10 апреля 2010

Вы можете использовать встроенный конструктор bytes , чтобы превратить последовательность целых чисел в строку байтов:

>>> bytes((7,8,9,10,11))
b'\x07\x08\t\n\x0b'
>>> bytes(range(7,12))
b'\x07\x08\t\n\x0b'
>>> bytes((0b1,0b0,0b1))
b'\x01\x00\x01'
2 голосов
/ 10 апреля 2010

Вы можете использовать двоичные литералы для целых чисел

>>> b = bytearray(b'abc')
>>> b[0] = 0b1001 # `9` decimal (TAB)
>>> b
bytearray(b'\tbc')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...