Python Ascii to bin转换问题

时间:2015-10-19 08:34:23

标签: python

我正在使用此行将Ascii字符串转换为二进制字符串:

message=(''.join(format(ord(x), 'b') for x in message))

字符以7位格式转换(c - > 1100011) 数字以6位格式转换(2 - > 110010) 我需要以7位格式转换的数字(将0添加为MSB,也许2为0110010),任何想法?

2 个答案:

答案 0 :(得分:2)

如果你的输入是一个字符串,这个

format(ord('2'),'07b')

始终产生7位输出,例如

'0110010'

如果您事先忽略输入的类型(即字符串或整数)

format(ord(n) if isinstance(n, str) else n,'07b')

表示n = '2'生成

'0110010'

n = 2产生

'0000010'

不同之处在于' 2'是一个字符串,表示' 2'值为50(十进制)

如果你想要一个字符和数字的唯一二进制代码(例如给数字提供与字符相同的代码)

format(ord(n) if isinstance(n, str) else n+ord('0'),'07b')

现在生成

'0110010'

适用于n = '2'n = 2

有意义吗? :)

答案 1 :(得分:0)

test