Python ASCII 转二进制

10 投票
3 回答
19003 浏览
提问于 2025-04-16 08:58

有没有什么内置的函数可以把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

撰写回答