gpt4 book ai didi

c - 关于压缩一系列 1 和 0

转载 作者:行者123 更新时间:2023-11-30 18:06:58 25 4
gpt4 key购买 nike

我需要像这样压缩一系列 1 和 0

http://cid-f328e92ab80e3d64.office.live.com/self.aspx/.Public/bits.txt

任何人都可以建议我使用什么编码器来实现最佳压缩(Huffman、算术、BWT、LZW、RLE、PAQ ...)

感谢任何帮助,并提前感谢您。

恕我直言,查基

附注我发现 bwtmix 减少到 577 字节,但它是用 c++ 编写的,我需要用 c 编写。

最佳答案

这个 Python 程序通过简单地将 1 和 0 转换为字节,将其压缩到 715 字节,包括 16 位前导计数。不幸的是,标准压缩程序 zip、gzip 和 bzip2 似乎无法从中获得更多压缩。


import sys, struct
i, n, b, count = 0, 0, '', 0
for byte in open('/tmp/binary.txt').read().rstrip():
n = (n << 1) | (ord(byte) & 1)
i = (i + 1) % 8
if i == 0:
n, b = 0, b + chr(n)
count += 1
sys.stdout.write(struct.pack('<h', count) + b)

关于c - 关于压缩一系列 1 和 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5178375/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com