从一个文件还原成许多文件
MHT 存档是一封 multipart/related 报文:HTML 加上页面引用过的每张图片、每份样式表、每个脚本,全都装在一个文件里。本工具把它们重新拆开。
每一部分都会列出 MIME 类型、传输编码、声明的字符集、Content-Location、Content-ID,以及两个尺寸:存储尺寸和解码后尺寸。这两个数字并排放在一起,就能看到传输解码确实在起作用:base64 图片会缩小约四分之一,而 quoted-printable 文本部分几乎不变——除非里面全是带重音的字符或超长行。
ZIP 是一个能用的文件夹,不是一堆碎片
这一步是大多数提取工具跳过的。把报文切成文件很容易,产出一个真正能打开的东西才是有用的部分。
- 根 HTML 写为
index.html。 - 其余部分放进
assets/,文件名取自Content-Location或Content-ID,去重处理,原本没有扩展名的会补上一个合理的扩展名。 - HTML 里的
src、href和 CSSurl()引用——它们仍然指向原始的绝对网址——会被改写为这些相对路径。
解压结果,双击 index.html,页面就带着图片和样式显示出来。这正是提取它的意义所在。
引用匹配使用的是与 MHTML 查看器完全相同的代码,因此 cid: 引用、Content-Location 匹配,以及相对于页面自身地址解析的相对引用,在两个工具中的表现完全一致。
预览与单独下载
任何一部分都能就地预览——文本按其声明的字符集解码,图片直接渲染——也可以单独下载。不做任何重新编码:图片取出来的字节与存档中保存的完全一致。
当存档不完整时
存档从未保存过的引用会被单独列出。在提取出的 HTML 中,它们仍指向原始地址,本工具不会去请求它们。
隐私
存档在你的浏览器中打开,绝不上传,也不会为它引用的任何东西发起网络请求。
Tiny Online Tools







