• 请不要在回答技术问题时复制粘贴 AI 生成的内容
unmayx
V2EX  ›  程序员

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

  •  
  •   unmayx ·
    Mabbs · 18h 5m ago · 867 views

    你有没有想过,一个压缩包可以包含它自己?去年我尝试用 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 编程感兴趣,欢迎来读原文、下载体验,一起讨论!

    9 replies  •  2026-10-01 18:18:40 +08:00
    1874w
        1
    1874w  
       18h 0m ago
    是不是发重复了?好久之前就看到这个博客项目了。
    unmayx
        2
    unmayx  
    OP
       17h 57m ago
    @1874w 这次是发文章,之前文章还没发
    lovelylain
        3
    lovelylain  
       9h 23m ago via Android
    >> 不过 zstd 感觉不是很知名,一般的解压软件应该处理不了,所以我就选择让它基于 LZMA2 来制作了。

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

    不信你看看你浏览器的请求头
    accept-encoding:gzip, deflate, br, zstd
    anyplace
        7
    anyplace  
       48 mins ago
    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
        8
    unmayx  
    OP
       37 mins ago
    @anyplace 我问过 AI ,它说如果压缩那么就没有可以参考的之前输入的数据,因为之前的数据已经是解压后的明文了,所以必须存两份压缩后的数据,我试着压缩了我的博客其实也就 50%左右的压缩率,所以这样折腾也不太划算
    anyplace
        9
    anyplace  
       5 mins ago
    @unmayx 哦,你是要求解压后能原地运行吧,一个多的操作都不能有
    主要是,如果不实际压缩变小,那么顶多算是利用了 LZMA 的归档 Quine 实现
    或者看看是不是其他压缩算法有没有更容易实现 Quine 的
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2351 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 10:24 · PVG 18:24 · LAX 03:24 · JFK 06:24
    ♥ Do have faith in what you're doing.