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

浅谈Umd文件格式

 2009-09-10 00:00:00 来源:WEB开发网   
核心提示: 2. 写入1个字节’#’,2个字节的0x0a,2个字节的0x0900,浅谈Umd文件格式(3),4个字节的随机数在所有正文数据块写入完毕后,写入1个字节’#’,2个字节数据类型0x81,写完之后才发现像流水帐,看来和电脑用长了文字功底都还老师了,表

2.  写入1个字节’#’,2个字节的0x0a,2个字节的0x0900,4个字节的随机数

在所有正文数据块写入完毕后,写入1个字节’#’,2个字节数据类型0x81,表示正文写入完毕,2个字节0x0901,4个字节随机数,1个字节0x24,4个字节随机数(一致),接下来是4个字节,内容是数据块的数目*4+9,然后,还记得每个数据块写入前都生成了4个字节的随机数吗,从最后一个开始,倒序写如这些随机数,每个4个字节,结束正文的写入。

接下来是封面,1个字节的’#’,2个字节的数据类型0x82,3个字节0x010a01,4个字节的随机数,1个字节的0x24,4个字节的随机数,4个字节的数据和封面字节数有关,内容是封面字节数+9,然后再写入封面字节数据,不需要压缩。

到此为止,主要数据都写完了,但我发现有些Umd生成工具还会生成一些数据类型是0x87的,这一块具体功能还不是非常清楚,大概是生成一些数据来通知Umd解析器应该使用什么样的PageOffset来显示内容,具我测试,这部分不写入也能正常解析,对这部分有兴趣的朋友,可以参考我提供的代码。

该结束了,1个字节的’#’,2个字节的数据类型0x0c表示文件结束,2个字节的0x0901,4个字节的文件长度+4,完成了。

附,数据类型表:

0x01--文件开始

0x02--标题

0x03--作者

0x04--年

0x05--月

0x06--日

0x07--小说类型

0x08--出版商

0x09--零售商

0x0b--内容长度

0x83--章节偏移

0x84--章节标题,正文

0x81--正文写入完毕

0x82--封面

0x87--PageOffset

0x0c--文件结束

写了一大堆,写完之后才发现像流水帐,看来和电脑用长了文字功底都还老师了,不过应该还是能看明白的^_^。

来源:www.shoujihw.com

上一页  1 2 3 

Tags:Umd 文件 格式

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