Kindle电子书的用到的几种文件

题记

最近入手kindle,大概了解了下kindle 4的入门级知识,与大家分享。转自 http://blog.sina.com.cn/s/blog_6441e0640100gz2o.html

在Kindle上经常会看到几种文件扩展名,有.azw、.mbp、.mobi、.prc、.azw1、.tan等,查了一下wiki大概介绍如下:

azw

      是Amazon Kindle独特的电子书标准,通过所谓 Amazon的Whispernet下载的书都是这种文件,兼容Kindle的PC阅读软件和Iphone的手机阅读软件。基于用高压缩选项的mobi文件格式。它包含了有数字版权保护(DRM)的和没有数字版权保护(DRM)的两种情况。
没有drm的azw文件可以直接修改扩展名为.mobi或.prc就可以用mobipocket reader阅读,带drm的不能使用mobipocket阅读。

prc
       这最被是palm的文件格式,现在被告sony等厂家所支持。可以用mobipocket reader阅读,用mobipocket creator制作。黑梅等许多手机也可使用这种格式阅读电子书。Kindle也支持阅读这种格式的电子书。

mobi
       是mobipocket支持的电子书格式,它是palmdoc的一个扩展,加入了一些html标签,分为不压缩的,普通压缩的和高压缩几种,Kindle的awz电子书基于这种格式,是高压缩的,不过DRM是Amazon自己的。mobi电子书可以使用mobipocket reader阅读,Kindle当然支持阅读这种格式的电子书。Kindle阅读器可以阅读三种压缩格式的书。

注:
1、奇怪的是mobipocket creator默认生成的电子书是.prc,而KindleGen生成的电子书默认是.mobi,不是azw。
2、尽管prc和mobi的电子书mobipocket reader和kindle都江堰市可以阅读,而且互改扩展名也能支持阅读,但这两种格式还是不完全相同的。有兴趣可以在wiki查一下它们的区别。

mbp

       最初让我不明白的就是在kindle上有这个类型的文件,每读一本书后就会有一个这个扩展名的文件产生,查了一下,才知道这是mobipocket reader的所谓副文件(sidefile),记录了同文件名(扩展名为.prc、.azw、.mobi)的电子书的一些元数据(metadata)信息和用户目录和阅读的一些信息,比如书签、最后阅读位置等,具体的内容可以上网查一下。如果你手工删除这个文件,相关的信息就会被删除,kindle会重新生成这个文件,你对这本书的阅读就会重新开始。比较不满意的是kindle没有这类文件的管理。网上有第三方的软件,可以把mbp文件的信息转成txt,变成可读的内容。

azw1

       Amazon推出的新格式,基于topaz(tpz)。topaz支持内嵌字体,目前对这个格式的情况知道的不太多,只知道比azw有很大改进,采用了不责骂于mobi的压缩方式,压缩比更大,修改了mobi文件对图片的一些限制,图片可以更大。据 publishing industry blogger,它不再基于mobipocket了而是逐步执行epub了,本人认为这是一大进步,mobipocket不是idpf标准,存在不少缺陷。而epub做为标准,今后应该更有前途,而且epub也在不断的改进,电子阅读的体验也越来越好,比如开始支持mathml和svg了。通过Amazon的Whispernet下载的topaz格式的书都是这个扩展名。

tpz
       和上面一样也是amazon的topaz格式的扩展名,通过互联网下载的topaz书用这个扩展名。
tan
       是topaz格式书的副(sidefile)文件,作用和mbp文件类似。
pdf
       是adobe公司的格式,大家经常用到,这里就不说了。
pdr

       和.mbp、.tan类似,.pdr为pdf文件的副(sidefile)文件。

以上是kindle的documents目录中的几种文件的扩展名。图片和有声读物的文件目前还不了解。以后知道再做说明。
'这是从资源文件里调用msvbvm60.dll 注册的代码 '本代码是放在模块 Moudule1.bas 里面,不是放在Form1里面的. '要注册.dll .ocx最好是放在.bas里面,并把启动项设为Sub Main '否则有可能在还没进入窗体执行注册的动作前,就产生错误而中断了 '尤其是98系统之下的msvbvm60.dll '先建立一个资源文件, 在 Custom 101 装载 msvbvm60.dll Global winsys$, appdisk$, aa$ Sub Main() On Error Resume Next If App.PrevInstance Then MsgBox "本系统已运行中, 不得重复加载!!", vbOKOnly, "菜鸟多媒体桌面工具": End appdisk = IIf(Right(App.Path, 1) = "\", App.Path, App.Path & "\") winsys = GetSyspath Call regdllocx Form1.Show End Sub Private Sub regdllocx() On Error Resume Next Dim byt() As Byte aa = winsys & "msvbvm60.dll" If Dir(aa) = "" Then byt = LoadResData(101, "CUSTOM") Open aa For Binary As #1 Put #1, 1, byt() Close #1 End If If Dir(aa) <> "" Then aa = "Regsvr32 /s " & aa Call Shell(aa, vbHide) End If End Sub Public Function GetSyspath() As String '获取system32路径 aa = Trim(Environ("ComSpec")) GetSyspath = Mid(aa, 1, InStrRev(aa, "\")) End Function '直接从资源文件调用 .bmp图片(只允许.bmp),不必释放到硬盘 'Me.Icon = LoadResPicture(101, vbResIcon) '注释:加载图标 'Picture1.Picture = LoadResPicture(101, vbResBitmap) '注释:加载位图 'Command1.MouseIcon = LoadResPicture(101, vbResCursor) '注释:加载光标' '播放 WAVE 声音(只允许.wav) Option Explicit Private Declare Function sndPlaySoundFromMemory Lib "winmm.dll" Alias "sndPlaySoundA" (lpszSoundName As Any, ByVal uFlags As Long) As Long Const SND_ASYNC = &H1 Const SND_MEMORY = &H4 Private Sub Command1_Click() Dim bArr() As Byte bArr = LoadResData(101, "CUSTOM") DoEvents sndPlaySoundFromMemory bArr(0), SND_ASYNC Or SND_MEMORY End Sub 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/cbm666/archive/2008/03/08/2158287.aspx
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值