我使用霍夫曼算法为我的在线课程项目创建了一个压缩器。问题是二进制(10101010011..
)的输出文件大于原始文件。
该课程的老师不知道答案。
我使用它,其中ciph_text
是0和1的字符串。
with open(full_name,'w') as temp:
temp.write(ciph_text)
有什么主意吗?
如果需要,我可以发布更多代码。
答案 0 :(得分:1)
int(x,2)是你的朋友:
>>> a="00001010000101000001111000101000"
>>> for b in range(0, len(a), 8):
... print a[b:b+8], int(a[b:b+8], 2)
...
00001010 10
00010100 20
00011110 30
00101000 40