Posts tagged kindle

Amazon Kindle 3 随谈

入手Kindle 3 有一段时间了,轻薄的身段,柔和的墨水屏,超长的待机时间,确实是理想的阅读利器。综合这段时间的体验,闲聊几句:

OTA 推送功能

在Kindle开机初始化注册完成之后,amazon会为你的设备分配一个形如 yourid@amazon.com 的邮箱帐号,既然是邮箱当然可以接收普通邮件了,特殊的是这个邮箱是用来接收电子书的,也就是你可以将指定格式的电子书以附件的形式发送到这个邮箱,然后电子书就被推送至你手上的Kindle上,这样很方便吧,至少摆脱了不停插拔USB线缆的困扰。该吐槽了,但使用后发发现这功能也存在着不少缺陷,表现在:

白名单机制,为防止你手上的Kindle被SPAM推送困扰,amazon使用了邮箱白名单机制,也就是需要事先将发送方的邮箱地址加入白名单,所发的电子书才会被推送至Kindle。但目前添加白名单的唯一方式是使用电脑登陆到amazon的管理页面进行操作,必须用电脑才行!如果发送邮箱未在白名单之列,你的Kindle上甚至不会有任何提示!个人认为更好做法为:Kindle上面设置菜单里面添加了一个白名单设置项,并且在陌生邮箱首次推送电子书时,Kindle给跳出提示,用户此时可以发起操作:单次接收/添加至白名单/永久拒绝。

还有,给Kindle 推送多份相同文件时,Kindle会傻呼呼的照单全收。我试验过用邮箱先后发送两本一模一样(md5值相同)的书,结果Kindle上还真收到同样的两本书。个人认为更好的做法为:对文件和md5值进行比对,短时间内相同的推送可以忽略。

皮套

Kindle 3 身材纤薄,便携性好,但同时这是一根软肋,尤其是屏幕,怕挤压,所以如果是经常外带或是需要放在包包里面,最好给Kindle 戴个套,而且是有加硬隔层的那种套,安全第一!

WIFI版 or 3G版

关于是买WIFI版还是3G版的问题,这个完全视乎个人所处的环境了,如果像我一样家里有非常方便的无线网络,而且待在家里的时间也算多,那你选择WIFI版本就足够了;如果你所周围没有便捷的无线网络,那就入3G版吧。

另外值得一提的是,Kindle 3 3G版使用的是全球漫游无限流量的AT&T网络,同时也是无墙网络。关于为什么是无墙网络,这是由无线信令网络决定的,你的接入IP会在美国,期间不会通过中国的任何TCP/IP网络设备和GFW。

不久前还有一则好消息,amazon表示会让Kindle支持epub格式的电子书,问题是即使消息无误也可能要等到下一版本的固件才会加上此功能吧。最后还要提醒,Kindle非常适合阅读,Kindle只是一部电子书,这玩意真不适合用来上网游戏mp3啥的,虽然系统确实有这功能。

点此跳转观看Amazon Kindle 3写真集。

Kindle 对txt文档中换行符的处理

Kindle是支持txt文档的,但无论是直接使用USB线缆传送或是OTA PUSH的方式,最终txt还是被转化为Amazon私有的azw格式,才能在Kindle上被阅读。虽然Kindle对txt算得上不友好,但txt的通用和便利,仍令人难以舍弃。本文要讨论的是Kindle对txt中换行符\n,\r,空格和制表符\t的处理。

测试环境和步骤如下:

测试环境:

电脑:Windows 7 ,Python 2.6.2

阅读器:Kindle 3 WIFI Only,固件版本:Kindle 3.1(558700031)

测试步骤:

先在Windows 7上使用Python生成标准的txt文档,然后复制一份。分别通过USB和OTA PUSH二种不同的方式传输到Kindle。

用来生成txt文档的Python代码如下:

#!/urs/bin/python
# -*- coding: cp936 -*-

file = open("kindle_test.txt","w")
content1 = "第一行测试\\n效果(所有换行符均放在每行的结尾处)\n第二行测试\\r效果\r第三行测试\\n\\r效果\n\r第四行测试\\r\\n效果\r\n第五行测试\\n\\n效果\n\n第六行测试\\r\\r效果\r\r第七行测试\\n\\r\\n\\r效果\n\r\n\r第八行测试\\r\\n\\r\\n效果\r\n\r\n换行测试完毕。"
content2 = "\n  空格及制表符测试:此行开头进行两个半角空格测试。\n    此行开头进行四个半角空格测试。\n\t此行开头进行一个制表符测试。"
file.write(content1)
file.write(content2)
file.close()
# print content1,content2

运行此代码后最终生成一个名为Kindle_test.txt 的标准文本文件。

上图,是此文档在Windows 7平台使用系统原生的notepad程序打的效果,从中可以的得出如下结论:

\n和\r均被Windows识别为单独的换行符,并且\r\n或者是\n\r表示两个换行符;另外空格和制表符也能完全准确的显示。

上图左是使用USB线缆将文档直接拷贝到Kindle后的效果;上图右则是使用Gmail将同一份文档OTA PUSH到Kindle后的效果。

从上面两张图以及notepad显示的效果图上可以得到如下结论:

1. Kindle系统内置的格式转换软件和Amazon云端的并不是同一套,不然同一个文档不可能产生两种不同的效果。

2. 若从USB线缆向Kindle拷贝txt文档,Kindle内置格式转换规则为: \n, \r均视为单独的换行符,\n后面紧接着的\t被忽略,\n后面紧接着的空格则被缩减了一个,原本2个半角空格变为一个,原本4个半角空格变为3个。

3. 若使用OTA PUSH的方式,Amazon云端格式转换规则为:\r完全被忽略,后面不跟空格的单个\n会被忽略,单个\r\n表示换行,\n\n表示换行外加四个半角空格,\n后面紧跟一个或多个空格仅表示换行(空格被忽略掉),\n\t表示换行外加一个制表符。另外,进行长本文txt文件云端PUSH测试时,\r\n很多时候会被转换成四个半角空格,而不是换行。

总结:为Kindle准备的txt的文档,为保证原有格式请尽量使用USB线缆传输。若准备OTA PUSH,建议使用“\n\n”作为换行符,这样会在下一行的行首多出四个半角空格,但总比让很多段落连一起要强。

补充:为了排除txt文档在使用Gmail上传时被更改,将Gmail发件箱的附件下载与原文件对比没有出入,另外使用QQmail PUSH的时候效果一样。