我的 TBIRD 地址簿上有几个地址列表。
每次我需要编辑包含在多个列表中的地址时,查找哪个列表包含要修改的地址都是一件很痛苦的事情。
作为一个帮助工具,我想阅读几个文件,并只给用户一个列表
xxx.MAB 文件仅包含一次搜索的搜索地址。
有了生成的列表,用户可以简单地编辑正确的地址列表。
我想至少了解上述 MAB 文件的格式,这样我就可以在文件中打开 + 搜索字符串。
提前致谢
juan
PD 已询问 mozilla 论坛,但 mozilla 没有计划将地址合并到一个主文件上,并让不同的列表仅包含指向主文件的链接。有一个人想这样做,但由于缺乏资源,他不知道什么时候,
在这个论坛上有一个类似的问题提到 MORK 文件,但我的实际 TBIRD 看起来像是 MAB 文件中包含所有地址
恐怕没有答案可以为您提供此问题的正确解决方案。
MORK
是一个文本数据库,包含文件地址簿数据(.mab
文件)和邮件文件夹摘要(.msf
files).
该格式由 David McCusker 编写,是各种数字命名空间的混合,并且没有文档记录,并且似乎不再开发/维护/支持。掌握它的唯一方法是在使用这种格式查看源代码的同时对其进行逆向工程。
然而,有经验丰富的人试图为这种文件格式编写解析器,但没有成功。根据维基百科,前 Netscape 工程师 Jamie Zawinski 对于这种格式是这样说的:
...我见过的最伤脑筋的文件格式
我十九年的职业生涯
这一页 https://wiki.mozilla.org/Address_Book陈述如下:
简而言之,让我们来数一数它(莫克)的罪过:
- 两个不同的数字命名空间重叠。
- 它无法决定使用哪种字符引用语法:反斜杠?带美元符号的十六进制编码?
- 有时允许 C++ 行注释,但有时 // 只是 URL 中的一对字符。
- 它进行所有这些认真的压缩工作(两个不同的字符串驻留哈希表),然后写出 Unicode 字符串
不使用 UTF-8:写出解压的 wchar_t 字符!
- 更糟糕的是,它使用 3 字节编码对每个 wchar_t 进行十六进制编码,这意味着文件大小将为 3 倍或 6 倍(取决于 whchar_t 是否为 2)
字节或 4 字节。)
- 它伪装成“文本”文件格式,而实际上它只是另一个二进制 blob 文件,只不过它代表了它的所有魔力
ASCII 数字。它不是人类可读的,也不是手动编辑的,所以
唯一的好处是它使用短线并且
不使用二进制字符的原因是它会使文件更大。哦
等等,我的错误,这实际上根本不是一个好处。”
挫败感在这里闪耀,这显然不是一个简单的任务。
因此,Mozilla 产品之外显然不存在实际上能够解析此格式的解析器。
我过去曾对复杂的文件格式进行逆向工程,并且知道只要有耐心和适量的精力就可以完成。
可悲的是,这似乎也是您唯一的选择。一个好的起点是看一下雷鸟的源代码 https://developer.mozilla.org/en-US/docs/Developer_Guide/Source_Code/Downloading_Source_Archives.
我知道这并不能为您提供直接的解决方案,但考虑到这种格式的情况,我认为这是该问题的唯一答案。
当然,您可以随时查看扩展API https://addons.mozilla.org/en-US/developers/看看这是否允许您以比直接处理文件格式更结构化的方式访问所需的数据。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)