Python 对于哈夫曼算法,如何将0和1转换为二进制并返回?

Python 对于哈夫曼算法,如何将0和1转换为二进制并返回?,python,binary,binaryfiles,huffman-code,Python,Binary,Binaryfiles,Huffman Code,目前,我正在编写一个哈夫曼算法,但是我在转换二进制部分时遇到了一个问题 程序的其余部分已经开始工作了。程序可以从符号创建树,并可以创建表示符号的0和1字符串。但是现在我想把这个字符串转换成二进制格式,然后再转换回来。目前,我正在使用此代码将字符串转换为二进制 def toBytesdata: b=拜特利 对于0范围内的i,lendata,8: b、 附录数据[i:i+8],2 返回字节b 我可以将此字符串转换为二进制格式,但无法将其转换回。 例如,当我将011111101011000插入函数时,

目前,我正在编写一个哈夫曼算法,但是我在转换二进制部分时遇到了一个问题

程序的其余部分已经开始工作了。程序可以从符号创建树,并可以创建表示符号的0和1字符串。但是现在我想把这个字符串转换成二进制格式,然后再转换回来。目前,我正在使用此代码将字符串转换为二进制

def toBytesdata: b=拜特利 对于0范围内的i,lendata,8: b、 附录数据[i:i+8],2 返回字节b 我可以将此字符串转换为二进制格式,但无法将其转换回。
例如,当我将011111101011000插入函数时,它返回b'}\x18'。如何将此二进制格式转换回我的0和1?

您可以使用两个观察值将字节写入binarylike string方法:

可以使用str.format的b类型说明符将整数转换为1和0的等效字符串。 当您在字节对象上进行迭代时,可以将其视为整数列表。 二进制0111101是六十二。查找}的ASCII码。二进制格式是什么意思?函数应该返回什么?你在什么地方用那种二进制格式吗?
>>> def to_bin(b):
...     return "".join("{:08b}".format(x) for x in b)
...
>>> b = b'}\x18'
>>> print(to_bin(b))
0111110100011000