我正在尝试将0
,1
的流转换为字符,
无需使用其他库,
例如“ Hello World”:
0100100001000101010011000100110001001111001000000101011101001111010100100100110001000100
我发现了这样的东西:
def BinaryToString(binary):
bingen = (binary[i:i+7] for i in range(0, len(binary), 7))
return ''.join(chr(eval('0b'+n)) for n in bingen)
但是当我尝试翻译时,这就是答案:
>>> BinaryToString("0100100001000101010011000100110001001111001000000101011101001111010100100100110001000100")
"$\x11)Db<@W'TID\x04"
>>>
答案 0 :(得分:1)
该函数一次获取7个二进制数字并将其转换为字符。对其进行更改以一次转换8位数字。
def BinaryToString(binary):
bingen = (binary[i:i+8] for i in range(0, len(binary), 8))
return ''.join(chr(eval('0b'+n)) for n in bingen)
这全部取决于原始文本的编码方式,但是它可以与您提供的示例一起使用。 (ASCII最初使用7位定义。扩展的ASCII表使用8位。)
答案 1 :(得分:1)
consumer.Poll
需要第二个参数来指定基数,因此您可以使用int
之类的值来获得14。
int("00001110", 2)