有人知道什么是zbook文件吗?或者我该如何打开它?

10

我听说它是一个被压缩的sqlite表,但我找不到任何方法来打开它并访问其内容。 我需要打开的文件是一本书,它的文件名是book.zbook...

如果您有任何想法,请告诉我!


假设所说的"book.zbook"没有受到限制的分发,是否有发布链接的能力?(或者是另一个未受限制的zbook文件的链接。) - user166390
1个回答

13

我以前没有处理过zbook文件,但我有相当多的“仅压缩”文件格式和SQLite经验,你很幸运。它们可能使用商业SQLite Compressed and Encrypted Read-Only Database(CEROD)扩展,但它们没有这样做。

.zbook 是一个使用原始zlib压缩打包的SQLite3数据库。(基本上是没有头的Gzip)

以下是在Python中进行解包的最简代码:

import zlib

infile = open('AntiguoTestamento.zbook', 'rb')
outfile = open('AntiguoTestamento.sqlite3', 'wb')

outfile.write(zlib.decompress(infile.read()))

infile.close()
outfile.close()

对此我感到有些惊讶。"仅压缩"通常意味着文件的基本格式是XML、HTML或类似于字节码或二进制blob的自定义格式,因为SQLite并不是设计成以这种方式从存档中加载。


1
哇,非常感谢你的帮助。我很感激你抽出时间来帮助我解决这个问题。 - Stephen J.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接