TXT文件是最常见的文件格式,互联网上的图书,TXT格式的也是最常见、最多的,因为它的通用性高,基本上大多数的设备都能支持TXT格式。有人认为TXT格式的处理很简单,其实TXT格式文件的处理并不简单。手持电子阅读器由于受到CPU频率和内存本身的限制,在处理文件时不可能和电脑一样,哪怕同样是200MHZ的CPU,手持设备上的嵌入式CPU和电脑上的通用CPU也是不一样的,它比不上电脑CPU的性能。本文和大家一起分析一下几款主流产品对TXT图书分页的处理。

经常有人说,我用博朗EV960、博朗EV880、翰林V3、翰林V5等产品看TXT时,发现页数不正确,明明显示是500页,可以500页看完了,后面还能翻上10几页。而且越大的TXT图书,这种问题越严重。

TXT文件不像WORD、PDF文件一样带格式,TXT文件本身并没有任何格式,形象的说,它就是记流水账。如果我们要取得某个TXT文件的总页数,那么就需要先将该文打开,计算文件的总字数,然后根据一屏显示多少字,然后用总字数去除以一屏显示的字数,得到总页数。看起来很简单,是不是?问题是电子阅读器的CPU及内存都不大,如果每个TXT文件都这么处理,小的文件当然没有问题,但是碰到超2M以上的TXT文件,全部计算一次,就需要花费大量的时间。如果我们打开一本2M的TXT图书,你要等待5秒的时间才能打开,你能接受吗?难以接受。所以精确计算的方法行不通。就算你第一次能接受,OK,我们在看书经常用到放大字体功能,我们一按放大键,字体变大了,每一屏显示的字数变少了,豪无疑问题,总页数就会变多,如果你放字或者缩小一下字体,系统再重新计算一次,你再等待5秒,你还能接受吗?

如果你理解了TXT文件分页处理的难度,你就很容易理解现在的电子阅读器进行分页处理的难处。一起来看看各厂商都怎么来解决这个问题的。(注意:以下的分析仅为一路书香网的猜测与分析,并非各厂商提供,可能与实际有所区别)。

博朗EV880:我们之前用博朗EV880打开大超过2M的TXT测试,发现TXT文件越大,翻页也就越慢。EV880就是采用预估总页数来处理的,我们使用EV880看小说,文件越大,最后多出来的页数就越多。比如显示2000页,实际翻到最后,可能出来2030页来。文件越大,这个误差越大。

博朗EV960:用EV960看TXT图书时,可以注意观察一下,打开一本大一些的TXT图书时,最下面的页码显示并没有,而过一会儿计算完毕以后,那个页码才显示出来。将书翻到中间的页码,退出,再打开这本书,同样发现页码并没有出现,但是你向后翻一页,并没有影响。这时向前翻,就会提示“处理中,请稍侯...”,页数计算完就会正常。实际上,博朗EV960在你打开TXT时,从打开的位置往后读若干页内容供你先阅读,而不是全部计算,让你先有内容可看,等你这几页看完了,在后台计算的页数,也就显示出来了。但是EV960没有预读前几页的内容,可能开发人员认为你不会向前翻页,也就没有处理。所以这时你向前翻,就穿帮了。

再来看翰林V2和翰林V3,同样的问题,如何处理的呢?翰林V2在TXT分页了,改正了多次:

在翰林V2上市时,对于TXT的处理就是采用不分页的方式,当你打开TXT图书时,先按一屏显示的字数,程序从原文头开发始读出两页的内容以节省时间,以前用V2的朋友可能还记得,看TXT时,下面显示的总是1/3,你翻一页以后,就显示2/4,很明显示,这个总页数是不对的。

后来大家都反应没有总页数不方便,津科就在翰林V2的菜单里增加了一个跳到最后一页,你操作翻到最后一页时,程序就全部计算一下总页数,当然这个时间长一些,你会认为是页数多,觉得正常,如果一打开TXT时要这么长时间计算,你就要开骂了。然后你再回到第一页,总页数就有了。这样的操作从程序处时时间上说,还是比较合理的,但是用户觉得还是要多两次操作,不方便。

最后软件升级时,就将总页码改成了预估式的。根据文件的大小,预估出总页码来。所以预估会导致总页数多多少少有些不准。翰林V3基本上敢是同样的处理方式。

翰林V5:目前翰林V5在处理TXT图书时,还是采用预估总页数的方式,同样存在误差。在你按放大或者缩小时,也会重新预估计算总页数,但总体上不会是百分之百准确的。

这次为大家简单的分析了几款产品的TXT分页处理方式,最简单的格式也往往是最难处理的,我们不能用电脑和手持阅读设备相比。大家也会发现,打开大一些的TXT文件往往比打开同样大小的PDF还要慢上一点点,就是因为TXT需要计算。而PDF这类格式本身就是带页码的,读出来就可以了。作为厂商,需要在用户操作和CPU性能、速度之间找一个平衡点。

分析几款主流电子阅读器对TXT的分页处理相关推荐

  1. 开发的一款IDEA电子阅读器功能介绍

    开发的一款IDEA电子阅读器功能介绍 一.背景介绍 心血来潮想开发一款idea看电子书的插件,能够支持收藏当前阅读位置,根据目录查看,能够按关键字搜索.将电子书阅读器隐藏在idea插件里如下图所示 同 ...

  2. 让网络信息“私有化”:五款主流RSS阅读器横评

    让网络信息"私有化":五款主流RSS阅读器横评 作者:出处:电脑爱好者 [ 2006-04-26 13:30 ] 摘要:本次测试选用的软件有五款:雅虎助手订阅.搜狗直通车RSS阅读 ...

  3. 2022-2028全球与中国电子阅读器市场现状及未来发展趋势

    2021年全球电子阅读器市场销售额达到了2.5亿美元,预计2028年将达到0.8亿美元,年复合增长率(CAGR)为-15.3%(2022-2028).地区层面来看,中国市场在过去几年变化较快,2021 ...

  4. 安卓阅读器开发_别买电子阅读器:即将淘汰Kindle的5项技术

    投稿:骡子原文:https://www.makeuseof.com/tag/dont-buy-e-reader-upcoming-technologies-kill-kindle/ 彩色电子阅读器显示 ...

  5. 基于飞桨的“小书虫”儿童电子阅读器

    项目背景 教育学和心理学的研究表明,幼儿的阅读能力对认知能力的发展影响最大,尤其是0-6岁阶段的早期阅读能力,是影响幼儿未来学习能力和水平的关键. 可是如今,快餐式媒体信息的爆发,导致儿童的精神世界日 ...

  6. rss阅读器保存html文件,4款在线RSS阅读器使用体验

    RSS阅读有以下优点:您可以看到没有广告和图片的标题或文章的概要阅读,这样你不必阅读全文即可知文章讲的一个意思是什么,为您节省时间. RSS阅读器会自动更新你定制的网站内容,保持新闻的及时性.要订阅新 ...

  7. node.js毕业设计安卓电子阅读器APP(程序+APP+LW)

    该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程.欢迎交流 项目运行 环境配置: Node.js+ Vscode + Mysql5.7 + HBuilderX+Navicat11+Vue ...

  8. Calibre(电子阅读器)

    Calibre64位官方最新版是一款功能强大的电子阅读器,Calibre不仅能够支持绝大部份格式的电子文件,而且Calibre可以跨平台进行使用,并且Calibre还能够将自己下载的图书转变为电子书的 ...

  9. office电子书_掌阅推出首款彩屏电子书阅读器,用它看漫画体验到底如何?

    它作为传统电子书阅读器的延伸,在保留护眼.省电等特性的基础下,还可以显示彩色内容. 从 1996 年诞生于麻省理工实验室起,电子墨水屏技术已经发展了 20 多年,不过它的变化好像一直很少,最常见的应用 ...

最新文章

  1. python中处理日期和时间的标准模块是-Python time模块参考手册
  2. IDEA快捷键拆解系列(五):Navigate篇
  3. java代码调用python_Java调用Python
  4. python tkinter滚动条不起作用_Tkinter滚动条不工作
  5. 修改android.jar教程,Android修改jar包文件
  6. html window 属性,html中window对象top 、self 、parent 等属性
  7. Mysql学习总结(43)——MySQL主从复制详细配置
  8. eclipse 构建maven web工程
  9. linux 自动清理var log,Linux 系统 /var/log/journal/ 垃圾日志清理-Fun言
  10. IIS5 IIS6 IIS7区别
  11. 自学车载以太网笔记(1)
  12. c语言lzma算法,在C中使用C-LZMA-SDK解压缩LZMA返回SZ_ERROR_DATA,因为输入流的第一个字节是!= 0...
  13. 打王者荣耀还不过瘾,腾讯绝悟AI这次还拿下了足球世界冠军
  14. 4g 控矿驱动 迪兰rx574_主流显卡之争 574/1065战怪猎:世界
  15. 2022最新MN梦奈宝塔主机系统V1.5版本+UI不错
  16. Comparable Comparator
  17. 深入浅出HTTPS工作原理 1
  18. 滑铁卢计算机专业世界最新排名,滑铁卢大学计算机专业世界排名介绍
  19. 服务器e7系列cpu,Intel Xeon E7 v4正式发布:首个24核心
  20. 分享下个人一直以来整理维护的C++/Qt开发用到的控件库

热门文章

  1. [思维模式-14]:《复盘》-2- “知”篇 - 复盘之道
  2. stalled时间过长引起的一次线上事故
  3. 第十八章 实战之初战蚁兽
  4. 【Linux】查看CentOS版本信息
  5. 教你用简单几个步骤快速重命名文件夹名
  6. 好看好听的入门挂脖耳机,真是个工作好帮手,英雄S1上手
  7. java计算机毕业设计精准扶贫项目管理系统源码+mysql数据库+系统+lw文档+部署
  8. 国外英文文化网站大全!
  9. 用深度学习算法预测未来股票走势
  10. js数组去重常见的七种方法