今天试着让 Klib 解析 Kindle 存储的、由其他 Kindle 客户端所产生的笔记时,遇到了搞不下去的困难。
主要是困难在于,Amazon 并未开放这些数据文件的格式。并且,这些格式还受 DRM (Digital Rights Management) 加密保护。要读取,即使没有版权、法律上的风险(因为是用户在读取自己会产生的笔记),也确实是不容易。
虽然有 Calibre 这样的开源软件做了类似的事,不过,他们是基于 Python 的。即使翻译到 Swift,也要涉及逆向工程所得到的文件格式。这一过程是很繁琐、花时间,而且极易出错。
可是,如果这关过不去,就面临着「Klib 无法获取用户全部笔记」的尴尬。数据的不完整,会让用户用起来很没有安全感,总担心自己的笔记有遗漏。虽说懂内情的人,可以通过仅在 Kindle 设备上加标注来绕过。不过,毕竟不是所有人都能理解。并且,不让用户在手机等 Kindle 客户端做笔记,也并不是合适的要求。
卡在这个地方了,痛苦中…