字段尺度与请求边界
漫阅+ ZIP尺寸核对:本地头的零值不一定表示图片为空
对照bit 3、数据描述符和中央目录,分清占位尺寸、条目完整性与实际页面。
本文目录
在ZIP本地文件头看见零长度,不能立刻把漫画图片判为零字节。某些写入流程先写数据,后补描述符,完整归档还包含中央目录。本篇用原创三页CBZ及只读报告核这几个位置,再在漫阅逐页阅读;完整结构和逐页可读性分别记结果,不要求应用提供二进制检查器。
保留三页原图与归档身份
外部制作三张原创编号PNG,中心分别写一二三,文件名固定可辨页序,再用现有打包工具生成CBZ或ZIP测试副本。原图、归档与报告分别保存,记录实际字节大小与完整性结果。工具未必采用数据描述符,因此本轮先看真实报告,不为了符合例子手改头字段。若没有生成所需变体,可对规范给出的结构做纸面练习,不能拿普通副本声称已实际验证所有描述符读取路径。
先看通用标志第三位状态
报告中找每个条目的通用标志bit 3,它是编号为三的位,从零编号时是第四个比特,不是说标志整个十进制数必须等于三。该位设置时,数据描述符承担后置尺寸与校验信息的角色,本地头可能未在最初就写入最终数值。分别留条目名、标志状态与本地尺寸三栏,不把一张图的标志套到所有条目。不能仅凭本地大小零推断该位已设置,仍需实际标志证据;工具未展示时记未知,而不是猜归档采用了流式写入。
按记录位置追后置描述符
数据描述符位于该条目压缩数据之后,不能把它当一张额外漫画页或中央目录前随便一段文字。它包含CRC和压缩、未压缩尺寸等信息,某些变体长度另有条件,本课不进行手工偏移解析。规范允许见到有或没有常见签名的描述符,所以只搜索一个固定字节串不足证明它不存在。请用能解析结构的可信工具报告;若工具只列最终尺寸,注明没有独立定位描述符,不把摘要表升级成已经读过底层每个字段。
中央目录尺寸与实际条目对照
完整归档的中央目录也给条目相关信息,应按路径逐一对应,不能把中央第一条与本地第二条仅凭排列位置配对。原创算例设某图本地尺寸栏为零、bit 3设置,而最终压缩长度一百二十、未压缩长度二百,描述符与中央报告一致。记录这不是空图的理由来自完整结构与实际可解析数据,不是零值本身自动代表二百。数字是教学设定,真实小样若不同就按真实值,不强迫压缩比必须等于本例。
真正零字节与占位零分开记
另做一个明确零字节的测试文本条目作为对照,放在独立归档或注明不属于三张漫画页,不拿它冒充图片。最终未压缩长度确为零与本地头暂为零是不同条件;即使文件名叫page.png,也不保证内容是有效PNG。目录条目同样可能没有内容,不能只按后缀或大小计漫画页。清单分别统计图片候选、目录、辅助文本与实际可读图片,避免看到四个归档条目就说阅读器应显示四页,范围仍以真实图像解码为准。
完整性通过后在漫阅逐页打开
先用外部只读完整性检查核归档,再按漫阅已有本地导入路径打开三张编号页,分别看中心内容与角标。能列目录或显示封面不代表所有图片都解码成功;未执行的逐页步骤不写通过。若描述符副本只在某路径失败,保留文件身份和失败阶段,不直接归为bit 3完全不支持。应用里的观察只覆盖这份副本与当前版本,不能从一次成功推出所有ZIP写法、加密或截断变体都已兼容。
排查截断与字段不一致的不同层次
若归档缺中央目录、工具报告截断或CRC不符,先保留原副本,不能用零值可能合法作为忽略损坏的理由。若本地与中央信息矛盾,交给可信解析工具定位,不手工把一个值抄到另一个位置冒充修复。文件改后缀不会补回缺失数据;重复下载也要核是否真是新副本,而非再次打开旧缓存。求助用原创三页及去敏报告足够,明确哪些字段已核、哪些只是纸面模型,不上传整本私人漫画或秘密服务器日志。
重开后交付按条目的完整账本
重开漫画确认一二三页仍对应原图,再回报告按条目复述本地标志、后置描述符、中央最终尺寸与完整性结果。验收能说明本地零为什么未必为空,也能说明这种规则不为所有零值或损坏归档提供保证。实际没有描述符的小样明确不适用该检查,不把空白补成通过。换打包工具或重新保存后重新核结构,旧书签返回只验证当前页面定位,不证明归档字节与上次完全相同;原图仍独立保留以便恢复。
相关教程与资料
漫阅+ CBZ压缩方法核对:能列目录不等于每个图片条目都能读取、漫阅+ CBZ完整性检查:先检ZIP条目,再核对实际漫画页。
资料核对:2026 年 11 月 15 日,Apple 公开查询显示漫阅+ 2.0.5,最低 iOS / iPadOS 15.0。公开能力参见官方 App Store,具体入口以安装版本实际可见为准。
方法依据:PKWARE APPNOTE:bit 3与数据描述符。本篇材料和数字是原创练习;外部报告、纸面推导与实际阅读观察分别记录,未知条件不补造。资料不证明应用新增自动分析,本文不声称已对真机、私人服务器或全部输出环境逐项实测。