Python ASCII 转二进制
有没有什么内置的函数可以把ASCII码转换成二进制?
比如说,把字符'P'转换成01010000。
我正在使用Python 2.6.6。
3 个回答
0
bin(reduce(lambda x, y: 256*x+y, (ord(c) for c in "Hello world"), 0))
这是为了处理多个字符
8
你想转换的是字节还是字符? 这两者是有区别的。
如果你想要字节的话,可以使用
# 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位。
17
那两个一起怎么样?
bin(ord('P'))
# 0b1010000