AI 让压缩包包含自己?一个“完整”博客压缩包的诞生

unmayx 2026-10-01 00:19 1

你有没有想过,一个压缩包可以包含它自己?去年我尝试用 ZIP Quine 实现,却被 DEFLATE 的 32KiB 回溯窗口卡死。直到我把论文和生成器扔给 AI……它只花了两个小时,就基于 LZMA2 和 7z 做出了真正的递归压缩包!现在我的博客压缩包不仅包含全站内容,还包含这个压缩包本身——下载、解压、再解压,无限套娃(理论上)。


文章亮点:



  • 为什么 ZIP Quine 受限于 32KiB ? LZMA2 如何破局?

  • AI 写出的 CRC32 求解代码:高斯消元法偷懒版 + 扩展欧几里得硬核版😆

  • 附赠 tar.xz 版本生成器(虽然作者还是更喜欢 7z )

  • 关于 AI 创新能力的思考:组合创新算不算创新?


原文标题:如何制作一个“完整”的博客压缩包?


原文链接:https://mabbs.github.io/2026/10/01/quine.html


博客压缩包下载:https://mayx.eu.org/MayxBlog.7z


如果你也对 Quine 、压缩算法、AI 编程感兴趣,欢迎来读原文、下载体验,一起讨论!

最新回复 (11)
  • 1874w 10-01 00:23
    1楼
    是不是发重复了?好久之前就看到这个博客项目了。
  • unmayx 楼主 10-01 00:26
    2楼
    @1874w 这次是发文章,之前文章还没发
  • lovelylain 10-01 09:00
    3楼
    >> 不过 zstd 感觉不是很知名,一般的解压软件应该处理不了,所以我就选择让它基于 LZMA2 来制作了。

    你说反了,zstd 很知名,常用来替代 gzip ,安装 zstd 命令后能跟 gzip 一样用 tar 压缩解压。
  • unmayx 楼主 10-01 10:40
    4楼
    @lovelylain 🙃那还要额外安装啊,在 Windows 上至少资源管理器都能直接处理 7z ,但是 zstd 就要下载别的软件
  • unmayx 楼主 10-01 10:51
    5楼
    @lovelylain 😂刚刚试了一下好像是支持了,看来我的信息有点过时了
  • NewYear 10-01 14:28
    6楼
    浏览器早都支持 zstd 压缩了,两年多以前就放进请求头了。
    相关工具应该是成熟的。
    不是不知名的小众东西。

    不信你看看你浏览器的请求头
    accept-encoding:gzip, deflate, br, zstd
  • anyplace 10-01 17:36
    7楼
    make a zip file that contains a slightly larger copy of itself, recursively, so that as you dive down the chain of zip files each one gets a little bigger.
    这个似乎仍然没做到,有没有用 AI 试试
    只能归档,那就先常规压缩一遍,把压缩包当 binary blob 做 Quine 的输入是不是也行(上传网盘的也都习惯压缩两遍以上)
  • unmayx 楼主 10-01 17:46
    8楼
    @anyplace 我问过 AI ,它说如果压缩那么就没有可以参考的之前输入的数据,因为之前的数据已经是解压后的明文了,所以必须存两份压缩后的数据,我试着压缩了我的博客其实也就 50%左右的压缩率,所以这样折腾也不太划算
  • anyplace 10-01 18:18
    9楼
    @unmayx 哦,你是要求解压后能原地运行吧,一个多的操作都不能有
    主要是,如果不实际压缩变小,那么顶多算是利用了 LZMA 的归档 Quine 实现
    或者看看是不是其他压缩算法有没有更容易实现 Quine 的
  • unmayx 楼主 10-01 18:24
    10楼
    @anyplace 嗯,理论上 LZ77 家族的应该都行吧,至于大小的话 20MB 倒也不是大问题,等什么时候产物超出 25MB 的 CF Pages 上限的时候我再考虑额外用 7z 压缩一下
  • unmayx 楼主 10-01 23:59
    11楼
    @anyplace 想了一下额外再压一层似乎也不影响我的需求,所以给外面又套了一层,现在就可以完成压缩了😆
* 帖子来源V2EX
返回