Python ASCII到二进制

时间:2010-12-24 00:46:37

标签: python binary ascii

是否有内置函数将ASCII转换为二进制?

例如。将'P'转换为01010000。

我正在使用Python 2.6.6

3 个答案:

答案 0 :(得分:15)

两个人在一起怎么样?

bin(ord('P'))
# 0b1010000

答案 1 :(得分:6)

要转换字节还是字符?有区别。

如果你想要字节,那么你可以使用

# 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位。

答案 2 :(得分:0)

bin(reduce(lambda x, y: 256*x+y, (ord(c) for c in "Hello world"), 0))

这适用于多个角色