WEB开发网
开发学院软件开发Java 浅谈Umd文件格式 阅读

浅谈Umd文件格式

 2009-09-10 00:00:00 来源:WEB开发网   
核心提示:Umd文件有两种格式,一种是文本格式,浅谈Umd文件格式,另一种是漫画格式,考虑到主要的需求还是文本格式,本文在最后会给大家总结一下现在已知的数据类型),接下来是两个字节0x0900,本文主要是基于这个格式来讲解的, 首先是文件头

Umd文件有两种格式,一种是文本格式,另一种是漫画格式,考虑到主要的需求还是文本格式,本文主要是基于这个格式来讲解的。

首先是文件头,大部分文件都是靠文件头来区分文件格式的吧,Umd也不例外,Umd的文件头是0xde9a9b89,写到文件上前四位分别应该是0x89,0x9b,0x9a,0xde,这个大家理解起来应该没什么问题吧,以下的类似。

然后第5个字节是0x23,也就是字符’#’,这个字符在Umd中被用来作为功能块的分割符。

接下来有4个字节是固定字节0x01,0x00,0x00,0x08,其具体意义不明。

然后是第10个字节了吧,第10个字节是决定Umd是文本还是漫画的,0x01表示是文本,0x02表示是漫画。

然后是2个字节的随机数。

随机数完了之后,就到了Umd的一些基本属性了,例如标题,作者等。这些属性是用同样的格式生成的,格式如下:

分割符’#’:1字节

属性类别:2字节,其中类别包括以下几类(标题--0x02,作者--0x03,年--0x04,月--0x05,日--0x06,小说类型--0x07,出版商--0x08,零售商--0x09

0x00:1字节

内容长度:1字节,长度也很特别,并不是直接取字符数,而是字符数*2+5,例如字符串”hello”,则长度是5*2+5=15

内容:n字节,要写入的内容是经过Unicode编码的,现在明白上面的长度为什么要乘2了吧。

好了,基本属性完成之后,就开始正文内容了。

首先还是分割符’#’,然后是2个字节0x0b,表示下个部分是用来记录内容长度的,(细心的读者应该已经发现了,在分割符’#’后面跟的都是数据类型,本文在最后会给大家总结一下现在已知的数据类型)。接下来是两个字节0x0900,然后是4个字节的内容长度(内容长度为各章正文长度之和)。

1 2 3  下一页

Tags:Umd 文件 格式

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接