Python ASCII в двоичный - PullRequest
       13

Python ASCII в двоичный

9 голосов
/ 24 декабря 2010

Есть ли встроенная функция, которая преобразует ASCII в двоичный файл?

Например.преобразует 'P' в 01010000.

Я использую Python 2.6.6

Ответы [ 3 ]

15 голосов
/ 24 декабря 2010

Как насчет двух вместе?

bin(ord('P'))
# 0b1010000
6 голосов
/ 24 декабря 2010

Хотите конвертировать байтов или символов ? Есть разница.

Если вам нужны байты, вы можете использовать

# Python 2.x
' '.join(bin(ord(x))[2:].zfill(8) for x in u'שלום, עולם!'.encode('UTF-8'))

# Python 3.x
' '.join(bin(x)[2:].zfill(8) for x in 'שלום, עולם!'.encode('UTF-8'))

Функция bin преобразует целое число в двоичное. [2:] лишает ведущих 0b. .zfill(8) дополняет каждый байт до 8 бит.

0 голосов
/ 24 декабря 2010
bin(reduce(lambda x, y: 256*x+y, (ord(c) for c in "Hello world"), 0))

это для нескольких символов

...