Mobipocket 电子书 (.mobi)
Mobipocket 标准Mobipocket 电子书 (MOBI) 是为 Palm OS 手持 PDA 创建的历时悠久的电子书格式,后来被亚马逊收购,为第一代亚马逊 Kindle 电子书阅读器提供支持。
将 MOBI 转换为 EPUB
免费的浏览器端 MOBI 转 EPUB 转换器。在您的设备上即时转换文件。
检查与元数据
操作系统和文件分析器通过检查开头的二进制字节序列来识别 MOBI 文件:
字节级文件头签名 (魔数)
操作系统和文件分析器通过检查开头的二进制字节序列来识别 MOBI 文件:
十六进制签名 (偏移量 60):
42 4F 4F 4B 4D 4F 42 49ASCII 表示形式: BOOKMOBI
标准化: Mobipocket / Amazon 旧版规范
技术规格
| 容器架构 | Palm 资源数据库(PRC/PDB)容器,内含压缩的 PalmDOC 文本和 MOBI 文件头结构 |
| 压缩方式 | PalmDOC LZ77 字节压缩,或专有的 Huffman/CDIC 压缩 |
| 字节序 | 大端序(承袭 Motorola 68k Palm OS 架构) |
| 色彩空间 | sRGB |
| 通道与结构 | 可重排的电子书文本、基础 HTML 格式和内嵌低分辨率图像 |
| 最大尺寸 | 文本流长度不限 |
| 透明度 | 不支持(适用于早期黑白和彩色电子书阅读器) |
| 流式传输与渐进式加载 | 基于记录的索引可随机访问各个 4,096 字节的文本记录 |
技术对比矩阵:MOBI 对比同类产品
| 技术属性 | MOBI (当前) | EPUB | AZW3 | |
|---|---|---|---|---|
| 当前状态 | 已废弃的旧格式 | W3C 现行 Web 标准 | 现行 Amazon Kindle 格式 | 现行 ISO 文档标准 |
| 样式支持 | 基础的 HTML 3.2 子集 | 现代 HTML5 和 CSS3 | 现代 HTML5 和 CSS3 | 固定的 PostScript 矢量页面 |
| 容器引擎 | PalmOS PRC/PDB 数据库 | 包含 XHTML 的 ZIP 容器 | 带有 KF8 的 PalmOS 包装器 | 二进制对象层级结构 |
| 发送至 Kindle | 亚马逊已不再接受 | 支持(由亚马逊转换) | 亚马逊原生格式 | 亚马逊支持 |
常见损坏模式与十六进制恢复指南
Kindle 显示"无法打开项目"或突然跳过章节。
根本原因: PDB 记录列表表中的 PalmDOC 记录长度偏移量损坏。
恢复方法: 使用 File2File.app 电子书转换器将其转换为现代 EPUB 或 PDF。
安全分析与解析器攻击向量
在解压 4096 字节的 PalmDOC LZ77 记录时,旧版 MOBI 解析器通常缺乏防御性的边界检查。
已知攻击向量
- 在 PalmDOC LZ77 字典运行长度扩展期间发生缓冲区溢出。
- 在解析畸形的 Huffman CDIC 字典时发生越界指针读取。
- 通过循环的 PDB 记录偏移量表引发拒绝服务攻击。
防御性最佳实践: 在隔离的 WebAssembly 沙盒中将旧版 MOBI 文件转码为标准的 EPUB 或 PDF。
历史渊源与里程碑
2022亚马逊正式结束通过"发送至 Kindle"服务将 MOBI 文件发送到 Kindle 的支持。
2007亚马逊推出最初的 Kindle,使用 MOBI 作为其基础数字阅读格式。
2005亚马逊收购了法国公司 Mobipocket SA,以确保其即将推出的 Kindle 硬件所需的技术。
2000Mobipocket 创始人 Thierry Brethes 和 Nathalie Ting 针对 Palm Pilot 和 Psion PDA 推出了 MOBI 格式。
核心优势与特点
- 具有开创性的数字阅读格式,在商业电子书行业的推出中具有巨大的历史意义。
- 极轻量化的内存占用,能够在 16 MHz 的 Palm OS 手持设备上流畅运行。
- 受到全球数百万老一代早期 Kindle 硬件设备的支持。
技术局限与劣势
- 官方已废弃:已被 AZW3、KFX 和 EPUB 取代;亚马逊于 2022 年弃用。
- 原始的格式化:仅限于基础的 HTML 3.2 标签,没有现代 CSS、字体嵌入或 flexbox 布局。
- 较低的图像质量:历史上的图像为了适应早期 PDA 的内存限制而进行了严重压缩。
趣味技术冷知识
- 每个有效 MOBI 文件中的第 60 到 67 个字节是 ASCII 字符 'BOOKMOBI'。
- MOBI 格式本质上是重命名为 .mobi 的 Palm OS 数据库 (.pdb) 文件。
- 第一代亚马逊 Kindle 在 2007 年 11 月的五个半小时内售罄,它仅能阅读 MOBI 文件。
常见技术问题
为什么亚马逊停止支持 MOBI 文件?
亚马逊淘汰了 MOBI,因为它是一个拥有 20 年历史的过时格式,缺乏现代排版、自定义字体和响应式布局功能。亚马逊现在统一使用 EPUB 作为接收格式。
我可以将 MOBI 电子书转换为 EPUB 吗?
是的,File2File.app 可在浏览器中将 MOBI 转换为 EPUB。 是否支持取决于阅读设备和阅读应用。
我仍然可以在 Kindle 上阅读 MOBI 文件吗?
可以。通过 USB 数据线手动传输的旧款 Kindle 仍然可以阅读 MOBI 文件,但您不能再通过电子邮件将它们发送到您的 Kindle 账户。