欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

联想手机电子书的乱码问题 MTK 

程序员文章站 2022-03-16 15:14:38
...

因为需要双卡双待买了一个联想P992的手机,也是基于MTK方案的。但电子书软件做得很差,不能自动记忆上次阅读位置,最无法接受的是有时会出现乱码。

我本来也不用它看书。但最近出差在外,没带别的阅读器,只好用它。研究了一下,发现如果文本文件采用Unicode(Little Endian)编码,就不会出现乱码。如果用GBK编码,就可能出现乱码。

原因很容易猜到。这个软件将文本按固定大小分页。GBK编码因为有单双字节,所以分页时有时会把一个汉字分割开。这样后面一页就是乱码了。有时不巧的话,可能连续几页都是乱码。Unicode编码(在BMP之内)每个字符都是两个字节,只要每页大小是偶数个字节就不会把一个字符切开。

有时在网上下的小说是不分章节的几M文件。在这种内存较小的阅读器上看,就要把文件切小。这时注意不能直接切割Unicode文本文件。因为这个手机要求Unicode文本文件必须有BOM(即表示文本格式的特殊字节)。直接切割的话,只有第一个文件有BOM,后面的就没有了。

我的作法是用TextForever切割GBK编码的文件。切好后,再用cnbook的批处理功能将所有文件转换到Unicode编码。

相关标签: MTK