有没有内置函数可以将ASCII转换为二进制?
例如,将'P'转换为01010000。
我正在使用Python 2.6.6。
两个一起怎么样?
bin(ord('P'))
# 0b1010000
您想转换字节还是字符?两者有所不同。
如果您需要字节,则可以使用以下代码:
# 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 位。bin(reduce(lambda x, y: 256*x+y, (ord(c) for c in "Hello world"), 0))
这是为多个字符而设的