posts - 495,comments - 227,trackbacks - 0
http://blog.csdn.net/chinull/archive/2010/06/28/5698775.aspx

豆丁及百度文件格式描述

一、       豆丁文件格式的版本

描述豆丁文件格式版本之前,有必要交代一下豆丁文件在豆丁文档器中装载的过程。

1.      通过js传递ProductIdDocinFlashPlayer

2.      DocinFlashPlayer调用DocinProductWebServicegetProductInfo方法获取ProductInfo。这里面有一个属性conversionSucceeconverSuccess)描述了豆丁文件格式的 版本信息。(>20V3否则为V2

3.      pageNum属性描述了子文件的数量

4.      docin资源文件的URI地址及格式为:

第一个文件(i == 1)

http://file.yimk.com/docin_{ProductId}.docin

其他文件(i == 2 to pageNum)

http://file.yimk.com/docin_{ProductId}_{i}.docin

 

介绍以上内容的原因是 从豆丁资源文件本身是无法识别文件的版本信息的,但是也可以采用试探的方式进行转换。

具体细节为读取第三/四字节,如这两个字节值 为0x00,则为V3,否则为V2

二、       豆丁V2格式描述

Stream headerLen headcontent body(X)content

Length   4       headerLen    @size(x)

 

headcontent iso-8859-1 encoder(解码后字符串如)

<root>

<node size="43893" width="595" height="842"/>

<node size="34595" width="595" height="842"/>

</root>

FlexPaper的对应关系

该版本中读取的@sizeX部分的内容即为第X页的swf内容

三、       豆丁V3格式描述

Stream pageWidth pageHeight _totalPages headerLen swfHeaderContent

Length    4         4         4       4         headerLen

Stream body(X)Len body(X)Content

Length    4         body(X)Len

所谓的豆丁知识产权的 部分也就在这里了

采用zlib的压缩传输,对flexPaper进行了分包并压缩

Content = Uncompress(swfHeaderContent)+ Uncompress(body(X)Content)

Tlen =len(Content)

FlexPaper(x)= byte(70) byte(87) byte(83) byte(09) byte([](tlen) Content

四、       百度资源文件的格式描述

很多朋友都想知道百度 文库的文件格式,通过分析豆丁的文件格式,发现其实百度文库的格式很相似,并且更为简单,但是文件的体积相对较大。

Stream jsonstring body(X)content

Length   102?    @size(x)

其实百度的jsonstring的长度我没有仔细测试其 长度,因为在这样的格式下,只需要抓取CWS或者FWS

if ((_loc_3[_loc_5] == 67 || _loc_3[_loc_5] == 70) && _loc_3[(_loc_5 + 1)] == 87 && _loc_3[_loc_5 + 2] == 83 && (_loc_3[_loc_5 + 3] == 9 || _loc_3[_loc_5 + 3] == 10))  

posted on 2010-07-05 22:53 SIMONE 阅读(5536) 评论(3)  编辑  收藏

FeedBack:
# re: 豆丁及百度文件格式描述
2010-08-02 16:27 | zjq
好文章  回复  更多评论
  
# re: 豆丁及百度文件格式描述[未登录]
2012-04-13 12:44 | yy
豆丁文档下载器提示错误:
“无法解析此远程名称 file.yimk.com”
是什么原因呢?  回复  更多评论
  
# re: 豆丁及百度文件格式描述
2012-04-17 12:45 |
我也想知道啊~~~~~~~~~@yy
  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: