首页
社区
课程
招聘
[求助] 根据二进制区分ppt xls doc文件类型
发表于: 2014-6-28 15:27 18140

[求助] 根据二进制区分ppt xls doc文件类型

2014-6-28 15:27
18140
ppt xls doc三种格式的文件头都是d0 cf 11 e0 a1 b1 1a e1,想知道怎么进一步识别它是哪种格式?此外,pptx xlsx docx呢?。谢谢!

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (15)
雪    币: 8201
活跃值: (2706)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
复合文档,再往后看
2014-6-28 22:44
0
雪    币: 2592
活跃值: (37)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
知道是复合文档。有没有什么标识代表来区分这三种格式的。因为是从硬盘里面每个扇区每个扇区的读。
2014-6-30 08:54
0
雪    币: 293
活跃值: (287)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
03的office不好办呢
2014-6-30 09:11
0
雪    币: 25
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
再往后一点
2014-6-30 16:15
0
雪    币: 30031
活跃值: (2477)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
实际上微软已经公开office格式多时,只是你实在太懒惰了,一搜索到处都是。。。
另外,X结尾的,实际上就是压缩格式的XML。比如说,你可以把fuck.docx改为fuck.zip然后打开,会发现你要的。

很多年前折腾搜索引擎时写的:

function OfficeFileToTxt(const wstrFileName: WideString): WideString;
var
  wsExT: WideString;
  Doc: TWordDocDocument;
  DocX: TWordDocXDocument;
  Excel: TMSExcel;
  ExcelX: TMSExcelX;
begin

  wsExT := WideLowerCase(WideExtractFileExt(wstrFileName));

    if wsExT = '.doc' then
    begin
      Doc := TWordDocDocument.Create;
      Doc.FileName := wstrFileName;
      Doc.Execute;
      Result := Doc.PlainText.WideText;
      Doc.Free;
    end
    else if wsExT = '.docx' then
    begin
      DocX := TWordDocXDocument.Create;
      DocX.FileName := wstrFileName;
      DocX.Execute;
      Result := (DocX.PlainText.WideText);
      DocX.Free;
    end
    else if wsExT = '.xls' then
    begin
      Excel := TMSExcel.Create;
      Excel.LoadFromFile(wstrFileName);
      Result := (Excel.SheetNames.WideText) + (Excel.SST.WideText);
      Excel.Free
    end
    else if (wsExT = '.xlsx') or (wsExT = '.xlsb') or (wsExT = '.xltb') or (wsExT = '.xlab') then
    begin
      Excelx := TMSExcelX.Create;
      Excelx.LoadFromFile(wstrFileName);
      Result := (Excelx.SheetNames.WideText) + (Excelx.SST.WideText);
      Excelx.Free
    end;
end;

..................

      strm.Seek(0, soFromBeginning);
      {read a version}
      strm.Read(FIB.wIdent, SizeOf(FIB.wIdent));
      strm.Read(FIB.Version, SizeOf(FIB.Version));

      if (FIB.wIdent = $BE31) or
        (FIB.wIdent = $BE32) or
        (FIB.wIdent = $6031) or
        (FIB.wIdent = $A59B) or
        (FIB.wIdent = $A5DB) then
        ReadDocFromStream(strm, nil)
      else
        raise Exception.Create(Format(strFileIsNotWord, [AFileName]));
............

  procedure ReadXLSVersion(ToRead, ToValidate: Boolean);
  begin
    if ToRead then
      Stream.Read(BufferHeader, SizeOf(BufferHeader));
    if (BufferHeader.ID and $FF = XLSR_BOF) then
    begin
      {http://support.microsoft.com/default.aspx?scid=kb;EN-US;178605}
      case (BufferHeader.ID and $FF00) of
        $0000: Version := evExcel2;
        $0200: Version := evExcel3;
        $0400: Version := evExcel4;
        $0800: Version := evExcel5; //Biff5/Biff7/Biff8
      else
        raise Exception.Create(strEInvalidExcelFile);
      end
    end
    else
      if ToValidate then
        raise Exception.Create(strEInvalidExcelFile);
  end;

............................
procedure ProcessPPT(MyStream: TMemoryStream);
type
  TRecordHeader = packed record //http://msdn.microsoft.com/en-us/library/office/dd926377(v=office.12).aspx
    recVer_recInstance: Word;
    recType: Word;
    RECLEN: DWORD;
  end;
const
        RT_CSTRING = $FBA;
        RT_DOCUMENT = $03E8;
        RT_DRAWING = $040C;
        RT_END_DOCUMENT_ATOM = $03EA;
        RT_LIST = $07D0;
        RT_MAIN_MASTER = $03F8;
        RT_SLIDE_BASE = $03EC; // Not in MS specification
        RT_SLIDE_LIST_WITH_TEXT = $0FF0;
        RT_SLIDE = $03EE;
        RT_TEXT_BYTES_ATOM = $0FA8;
        RT_TEXT_CHARS_ATOM = $0FA0;
        OFFICE_ART_CLIENT_TEXTBOX = $F00D;
        OFFICE_ART_DG_CONTAINER = $F002;
        OFFICE_ART_SPGR_CONTAINER = $F003;
        OFFICE_ART_SP_CONTAINER = $F004;

var
  RecordHeader: TRecordHeader;
2014-7-1 03:01
0
雪    币: 2592
活跃值: (37)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
Excel97-2007BinaryFileFormat(xls)Specification.pdf
Word97-2007BinaryFileFormat(doc)Specification.pdf这两本书吗?英文太差一点都看不懂。你有中文的资料吗?
2014-7-1 09:09
0
雪    币: 30031
活跃值: (2477)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
8
这个是文档,不是书
但实际上你参考我上面的代码,已经能够判断了。因为你仅仅需要判断而已。
2014-7-1 12:36
0
雪    币: 2592
活跃值: (37)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
我不知道文件路径的。只是知道数据。所以应该用你的这个判断不了吧。你用的VB吗?对这个语法不懂。看不是很明白。现在找到了一个资料 复合文档二进制存储结构通俗讲义这个可以达到我想要的效果。根据文件内容判断是什么类型的文件。不过XML(word2007以上的版本)的现在还没有找到这方面的资料。
2014-7-1 15:53
0
雪    币: 30031
活跃值: (2477)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
10
跟路径有什么关系。。。。
      strm.Seek(0, soFromBeginning);//定位到数据的最开始处
      strm.Read(FIB.wIdent, SizeOf(FIB.wIdent));//读入结构
      strm.Read(FIB.Version, SizeOf(FIB.Version));

      if (FIB.wIdent = $BE31) or
        (FIB.wIdent = $BE32) or
        (FIB.wIdent = $6031) or
        (FIB.wIdent = $A59B) or
        (FIB.wIdent = $A5DB) then
        ReadDocFromStream(strm, nil)//拥有这些标志,说明是doc文件

又比如xls的

  if (BufferHeader.ID and $FF = XLSR_BOF) then
    begin
      {http://support.microsoft.com/default.aspx?scid=kb;EN-US;178605}
      case (BufferHeader.ID and $FF00) of
        $0000: Version := evExcel2;
        $0200: Version := evExcel3;
        $0400: Version := evExcel4;
        $0800: Version := evExcel5; //Biff5/Biff7/Biff8
      else
2014-7-1 16:24
0
雪    币: 30031
活跃值: (2477)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
11
if (
    (FIB.wIdent == 0xBE31) ||
        (FIB.wIdent == 0xBE32)  ||
        (FIB.wIdent == 0x6031)  ||
        (FIB.wIdent == 0xA59B)  ||
        (FIB.wIdent == 0xA5DB)
      )

语言只不过是一个工具而已,何必执着,自己实现一个语言也不是什么难事,只是没人用而已。

“不过XML(word2007以上的版本)的现在还没有找到这方面的资料。 ”
前面已经说了,这种X的(例如a.docx;a.xlsx;a.pptx)就是个zip文件,你自己找一个,把它扩展名改成zip,然后用winrar之类打开就明白了。文字、字体控制都在xml,文件名称固定。
2014-7-1 16:26
0
雪    币: 2592
活跃值: (37)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
D0CF11E0A1B11AE1000000000000000000000000000000003E000300FEFF0900060000000000000000000000010000002F00000000000000001000003100000001000000FEFFFFFF000000002E000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECA5C1005B8009040000F052BF000000000000100000000000080000150800000E00626A626AACFAACFA00000000000000000000000000000000000004081600380E0000CE900100CE90010007000000000000000D0000000000000000000000000000000000000000000000FFFF0F000000000000000000FFFF0F000000000000000000FFFF0F0000000000000000000000000000000000B700000000003C060000000000003C060000851300000000000085130000000000008513000000000000851300000000000085130000140000000000000000000000FFFFFFFF00000000991300000000000099130000000000009913000038000000D11300000C000000DD1300000C0000009913000000000000221600006C010000E913000000000000E913000000000000E913000000000000E913000000000000E913000000000000411500000000000041150000000000004115000000000000A115000002000000A315000000000000A315000000000000A315000000000000A315000000000000A315000000000000A3150000240000008E170000A2020000301A000042000000C7150000150000000000000000000000000000000000000085130000000000004115000000000000000000000000000000000000000000004115000000000000411500000000000041150000000000004115000000000000C715000000000000000000000000000085130000000000008513000000000000E9130000000000000000000000000000E913000058010000DC1500001600000061150000000000006115000000000000611500000000000041150000100000008513000000000000E9130000000000008513000000000000E913000000000000A115000000000000000000000000000061150000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004115000000000000A11500000000000000000000000000006115000000000000000000000000000061150000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006115000000000000E913000000000000FFFFFFFF000000001060F7000995CF01000000000000000099130000000000005115000010000000611500000000000000000000000000008D15000014000000F21500003000000022160000000000006115000000000000721A0000000000006115000000000000721A0000000000006115000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000721A00000000000000000000000000008513000000000000611500002C000000411500000000000041150000000000006115000000000000411500000000000041150000000000000000000000000000000000000000000000000000000000000000000000000000411500000000000041150000000000004115000000000000C715000000000000C715000000000000000000000000000000000000000000000000000000000000000000000000000061150000000000000000000000000000000000000000000000000000000000000000000000000000411500000000000041150000000000004115000000000000221600000000000041150000000000004115000000000000411500000000000041150000000000000000000000000000FFFFFFFF00000000FFFFFFFF00000000FFFFFFFF000000000000000000000000FFFFFFFF00000000FFFFFFFF00000000FFFFFFFF00000000FFFFFFFF00000000FFFFFFFF00000000FFFFFFFF00000000FFFFFFFF00000000FFFFFFFF00000000FFFFFFFF00000000FFFFFFFF00000000FFFFFFFF00000000FFFFFFFF00000000FFFFFFFF00000000FFFFFFFF00000000721A00000000000041150000000000004115000000000000411500000000000041150000000000004115000000000000411500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004115000000000000411500000000000041150000000000003C0600000F0C00004B1200003A010000050012010000090404080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003534353634360D030D0D040D0D030D0D040D0D0D0D0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000608000007080000080800000A0800000B0800000D0800000E08000010080000110800001408000015080000FAF6EEEAEEEAEEEAEEEAF600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061668AA51EA00000F036A000000001668AA51EA005508010616680D0C7F00000916682A2EBA006F2801000B0008000007080000090800000A0800000C0800000D0800000F0800001008000012080000130800001408000015080000FD000000000000000000000000F8000000000000000000000000FD000000000000000000000000F8000000000000000000000000FD000000000000000000000000F8000000000000000000000000FD000000000000000000000000F8000000000000000000000000FD000000000000000000000000FD000000000000000000000000FD00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000067642A2EBA0000010000000B360031903801325002003A700E4780001FB0822E20B0C64121B0080722B008072390A0052490A00525B0000017B0530318B0E0030C90A901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006A041300120001000B010F0007000300040003000000040008000000980000009E0000009E0000009E0000009E0000009E0000009E0000009E0000009E0000003606000036060000360600003606000036060000360600003606000036060000360600007602000076020000760200007602000076020000760200007602000076020000760200003606000036060000360600003606000036060000360600003E020000360600003606000036060000360600003606000036060000360600003606000036060000360600003606000036060000360600003606000036060000360600003606000036060000360600003606000036060000360600003606000036060000360600003606000036060000A80000003606000036060000160000003606000036060000360600003606000036060000360600003606000036060000B800000036060000360600003606000036060000360600003606000036060000360600003606000036060000360600003606000068010000480100003606000036060000360600003606000036060000360600003606000036060000360600003606000036060000360600003606000036060000360600003606000036060000360600003606000036060000360600003606000036060000360600003606000036060000360600003606000036060000360600003606000036060000360600003606000036060000360600003606000036060000360600003606000036060000360600003606000036060000360600003606000036060000360600003606000036060000360600003606000036060000360600003606000036060000360600003606000036060000360600003606000036060000360600003606000036060000B0030000360600003206000018000000C0030000D0030000E0030000F003000000040000100400002004000030040000400400005004000060040000700400008004000090040000C0030000D0030000E0030000F003000000040000100400003206000028020000D8010000E80100002004000030040000400400005004000060040000700400008004000090040000C0030000D0030000E0030000F003000000040000100400002004000030040000400400005004000060040000700400008004000090040000C0030000D0030000E0030000F003000000040000100400002004000030040000400400005004000060040000700400008004000090040000C0030000D0030000E0030000F003000000040000100400002004000030040000400400005004000060040000700400008004000090040000C0030000D0030000E0030000F003000000040000100400002004000030040000400400005004000060040000700400008004000090040000C0030000D0030000E0030000F0030000000400001004000020040000300400004004000050040000600400007004000080040000900400003801000058010000F80100000802000018020000560200007E020000200000004F4A0300504A0400514A03005F4801046D4809046E4804087348090474480408000000004A000060F1FF02004A000C1000000E47800000000200636B876500000B000000032403312400612403002000434A15004B4802005F480104614A16006D4809046E480408734809047448040800000000000000000000000000000000000024004120F2FFA10024000C0D00000000000010000600D89EA48BB56B3D84575B534F0000000042006900F3FFB30042000C1D000000000000300604006E661A9068883C6800001C0017F603000034D60600010A036C0034D60600010503000061F603000002000B00000020006B20F4FFC1002000000D00000000000030060300E06517526888000002000C000000000044001F000100F20044000C0910002A2EBA00300602007598097700001E000F0015C608000239107220010247240050C608000000FF060101006124010800434A1200614A12002E00FE0FA20001012E000C010F002A2EBA0030060700759809772000430068006100720000000800434A1200614A12003A002000010012013A000C0912002A2EBA003006020075981A8100001300110015C6080002391072200102472400612400000800434A1200614A12002E00FE0FA20021012E000C0111002A2EBA003006070075981A812000430068006100720000000800434A1200614A1200504B030414000600080000002100828ABC13FA0000001C020000130000005B436F6E74656E745F54797065735D2E786D6CAC91CB6AC3301045F785FE83D0B6D872BA28A5D8CEA249777D2CD20F18E4B12D6A8F843409C9DF77ECB850BA082D74231062CE997B55AE8FE3A00E1893F354E9555E6885647DE3A8ABF4FBEE29BBD72A3150038327ACF409935ED7D757E5EE14302999A654E99E393C18936C8F23A4DC072479697D1C81E51A3B13C07E4087E6B628EE8CF5C4489CF1C4D075F92A0B44D7A07A83C82F308AC7B0A0F0FBF90C2480980B58ABC733615AA2D210C2E02CB04430076A7EE833DFB6CE62E3ED7E14693E8317D8CD0433BF5C60F53FEA2FE7065BD80FACB647E9E25C7FC421FD2DDB526B2E9373FED4BB902E182E97B7B461E6BFAD3F010000FFFF0300504B030414000600080000002100A5D6A7E7C0000000360100000B0000005F72656C732F2E72656C73848FCF6AC3300C87EF85BD83D17D51D2C31825762FA590432FA37D00E1287F68221BDB1BEBDB4FC7060ABB0884A4EFF7A93DFEAE8BF9E194E720169AAA06C3E2433FCB68E1763DBF7F82C985A4A725085B787086A37BDBB55FBC50D1A33CCD311BA548B63095120F88D94FBC52AE4264D1C910D24A45DB3462247FA791715FD71F989E19E0364CD3F51652D73760AE8FA8C9FFB3C330CC9E4FC17FAF2CE545046E37944C69E462A1A82FE353BD90A865AAD41ED0B5B8F9D6FD010000FFFF0300504B0304140006000800000021006B799616830000008A0000001C0000007468656D652F7468656D652F7468656D654D616E616765722E786D6C0CCC4D0AC3201040E17DA17790D93763BB284562B2CBAEBBF600439C1A41C7A0D29FDBD7E5E38337CEDF14D59B4B0D592C9C070D8A65CD2E88B7F07C2CA71BA8DA481CC52C6CE1C715E6E97818C9B48D13DF49C873517D23D59085ADB5DD20D6B52BD521EF2CDD5EB9246A3D8B4757E8D3F729E245EB2B260A0238FD010000FFFF0300504B030414000600080000002100C71C6D149C060000511B0000160000007468656D652F7468656D652F7468656D65312E786D6CEC594D6F1B4518BE23F11F467B6F6327761A4775AAD8B11B68D346B15BD4E3783DDE9D7A766735334EEA1B6A8F484888827AA012E2C20101955A0924CAAF49292A45EA5FE09D99DDF54EBC26491B4105F521F1CE3EEFF7C7BC33BE78E94EC4D03E1192F2B8E955CF573C44629F0F691C34BD1BFDEEB9350F4985E321663C264D6F4AA47769E3FDF72EE27515928820A08FE53A6E7AA152C9FAD292F46119CBF33C2131BC1B711161058F22581A0A7C007C23B6B45CA9AC2E4598C61E8A71046CAF8F46D427E8D9CFBFBCF8E681B79171EF3010112BA9177C267A9A3771480C7638AE6A849CCA3613681FB3A6078286FCA04FEE280F312C15BC687A15F3F196362E2EE1F59488A905B405BAAEF9A47429C170BC6C648A60900BAD766B8D0B5B397F03606A1ED7E974DA9D6ACECF00B0EF83A5569722CF5A77ADDACA781640F6EB3CEF76A55EA9B9F802FF95399D1BAD56ABDE4875B14C0DC87EADCDE1D72AABB5CD65076F40165F9FC3D75A9BEDF6AA8337208B5F9DC3772F34566B2EDE804246E3F11C5A07B4DB4DB9E7901167DBA5F03580AF5552F80C05D99067971631E2B15A946B11BECD4517001AC8B0A23152D3848CB00F69DCC6D14050AC05E075820B6FEC922FE796B42C247D4113D5F43E4C3094C48CDFABA7DFBF7AFA181DDE7D7278F7A7C37BF70EEFFE68193954DB380E8A542FBFFDECCF871FA33F1E7FFDF2FE17E57859C4FFF6C327CF7EFDBC1C08E53353E7F9978F7E7FF2E8F9834F5F7C77BF04BE29F0A008EFD38848748D1CA03D1E8161C62BAEE664204E47D10F312D526CC681C431D6524AF87754E8A0AF4D314BA3E3E8D122AE076F0A681F65C0CB93DB8EC2BD504C142D917C258C1CE00EE7ACC545A917AE68590537F72771502E5C4C8AB83D8CF7CB64B771ECC4B73349A06F6669E918DE0E89A3E62EC3B1C201898942FA1D1F135262DD2D4A1DBFEE505F70C9470ADDA2A88569A94BFA74E064D38C689B4610976999CD106FC7373B37518BB332ABB7C8BE8B84AAC0AC44F93E618E1B2FE389C25119CB3E8E58D1E157B10ACB94EC4D855FC475A48248078471D4191229CB68AE0BB0B710F42B183A5669D877D834729142D17119CFAB98F322728B8FDB218E92326C8FC66111FB811C438A62B4CB55197C87BB15A29F210E385E18EE9B9438E13EBE1BDCA081A3D22C41F49B89D0B18456ED74E088C67FD78E19857E6C73E0ECDA3134C0E75F3D2CC9ACB7B5116FC29E545609DB47DAEF22DCD1A6DBE66248DFFE9EBB8527F12E81349FDF78DEB5DC772DD7FBCFB7DC45F57CD2463BEBADD076F5DC6087623322470B27E41165ACA7A68C5C95664896B04F0CBBB0A8E9CCF190E427A62484AF695F777081C0860609AE3EA22AEC85388101BBEA6926814C590712255CC2C1CE2C97F2D67818D2953D16D6F581C1F60389D50E1FDAE515BD9C9D0B723666B709CCE13313B4A2199C54D8CA85942998FD3AC2AA5AA9134BAB1AD54CAB73A4E526430CE74D83C5DC9B308020185BC0CBAB7040D7A2E1608219196ABFDBBD370B8B89C2598648867848D21869BBE763543541CA72C5DC0440EE94C4481FF28EF15A415A43B37D0369270952515C6D81B82C7A6F12A52C836751D2757BA41C595C2C4E16A383A6D7A82FD73DE4E3A4E98DE04C0B5FA304A22EF5CC8759003743BE1236ED8F2D6653E5B3683632C3DC22A8C23585F5FB9CC14E1F4884545B58863635CCAB340558AC2559FD97EBE0D6B332C066FA6B68B1B206C9F0AF69017E74434B4623E2AB62B00B2BDA77F6316DA57CA288E885C303346013B18721FC3A55C19E21957035613A827E807B34ED6DF3CA6DCE69D1156FAF0CCEAE639684386DB7BA44B34AB67053C7B90EE6A9A01ED856AABB31EEF4A698923F23538A69FC3F3345EF277053B032D411F0E11E5760A4EBB5E971A1420E5D2809A9DF15303898DE01D90277B1F01A920A6E93CD7F41F6F57F5B739687296B38F0A93D1A2041613F52A1206417DA92C9BE639855D3BDCBB2642923935105756562D51E907DC2FABA07AEEABDDD4321A4BAE926691B30B8A3F9E73EA7153408F49053AC37A787E47BAFAD817F7AF2B1C50C46B97DD80C3499FF73154B76554B6FC8B3BDB768887E311BB36A595580B0C256D048CBFE355538E5566B3BD69CC5CBF54C3988E2BCC5B0980F4409DCF720FD07F63F2A7C464C1AEB0DB5CFF7A0B722F8A1413383B481AC3E67070FA41BA45D1CC0E064176D326956D6B5E9E8A4BD966DD6673CE9E6728F385B6B7692789FD2D9F970E68A736AF12C9D9D7AD8F1B55D5BE86A88ECD11285A5517690318131BF69157F75E283DB10E82DB8DF9F30254D32C16F4A02C3E8D9337500C56F251AD28DBF000000FFFF0300504B0304140006000800000021000DD1909FB60000001B010000270000007468656D652F7468656D652F5F72656C732F7468656D654D616E616765722E786D6C2E72656C73848F4D0AC2301484F78277086F6FD3BA109126DD88D0ADD40384E4350D363F2451ECED0DAE2C082E8761BE9969BB979DC9136332DE3168AA1A083AE995719AC16DB8EC8E4052164E89D93B64B060828E6F37ED1567914B284D262452282E3198720E274A939CD08A54F980AE38A38F56E422A3A641C8BBD048F7757DA0F19B017CC524BD62107BD5001996509AFFB3FD381A89672F1F165DFE514173D9850528A2C6CCE0239BAA4C04CA5BBABAC4DF000000FFFF0300504B01022D0014000600080000002100828ABC13FA0000001C0200001300000000000000000000000000000000005B436F6E74656E745F54797065735D2E786D6C504B01022D0014000600080000002100A5D6A7E7C0000000360100000B000000000000000000000000002B0100005F72656C732F2E72656C73504B01022D00140006000800000021006B799616830000008A0000001C00000000000000000000000000140200007468656D652F7468656D652F7468656D654D616E616765722E786D6C504B01022D0014000600080000002100C71C6D149C060000511B00001600000000000000000000000000D10200007468656D652F7468656D652F7468656D65312E786D6C504B01022D00140006000800000021000DD1909FB60000001B0100002700000000000000000000000000A10900007468656D652F7468656D652F5F72656C732F7468656D654D616E616765722E786D6C2E72656C73504B050600000000050005005D0100009C0A000000003C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554462D3822207374616E64616C6F6E653D22796573223F3E0D0A3C613A636C724D617020786D6C6E733A613D22687474703A2F2F736368656D61732E6F70656E786D6C666F726D6174732E6F72672F64726177696E676D6C2F323030362F6D61696E22206267313D226C743122207478313D22646B3122206267323D226C743222207478323D22646B322220616363656E74313D22616363656E74312220616363656E74323D22616363656E74322220616363656E74333D22616363656E74332220616363656E74343D22616363656E74342220616363656E74353D22616363656E74352220616363656E74363D22616363656E74362220686C696E6B3D22686C696E6B2220666F6C486C696E6B3D22666F6C486C696E6B222F3E00000000150000000C00000E00000800FFFFFFFF00000000030000000600000006000000090000000C0000000C0000000C0000000C0000000C0000000C0000000C0000000C0000000F0000000008000015080000050000000008000015080000060000000F0000F064000000000006F03000000002140000050000000200000002000000020000000100000001000000020000000000000000000000000000000000000023000BF00C000000864100000000C5410000000040001EF110000000FFFF00000000FF0080808000F7000010010F0002F048000000200008F00800000001000000000400000F0003F0300000000F0004F028000000010009F0100000000000000000000000000000000000000002000AF0080000000004000005000000000F0002F092000000100008F00800000001000000010800000F0003F0300000000F0004F028000000010009F0100000000000000000000000000000000000000002000AF00800000000080000050000000F0004F04200000012000AF00800000001080000000E000053000BF01E000000BF0100001000CB0100000000FF01000008000403090000003F0301000100000011F004000000010000000000000006000000160000000300070000000000060000001600000003000700050000000400000008000000E500000000000000020000000D0C7F000E4780002A2EBA005457D900AA51EA000000000007000000090000000000000001000000FF40018001000000000000000000007803050100010000000000000000000000000000000000021000000000000000150000006000001000400000FFFF01000000070055006E006B006E006F0077006E00FFFF0100080000000000000000000000FFFF010000000000FFFF00000200FFFF00000000FFFF00000200FFFF0000000006000000471E9001000002020603050405020304FF2A00E0417800C00900000000000000FF01000000000000540069006D006500730020004E0065007700200052006F006D0061006E000000351E9001020005050102010706020507000000000000001000000000000000000000008000000000530079006D0062006F006C000000332E90010000020B0604020202020204FF2A00E0437800C00900000000000000FF0100000000000041007200690061006C000000372E90010000020F0502020204030204FF0200E0FFAC004001000000000000009F01000000000000430061006C00690062007200690000003B0E90018603020106000301010101010300000000008F28160000000000000001000400000000008B5B534F0000530069006D00530075006E00000041129001010000000000000000000000000000000000000000000000000000000000000000000000430061006D00620072006900610020004D00610074006800000020000400310888180000A40100006801000000002E0C27472E0C2747000000000200000000000100000006000000010001000000040003900100000001000000060000000100010000000100000000000000210300000000000003003F001B002100250029002C002E003A003B003E003F005D007D00A200A800B000B700C702C9021520162019201D2026203020322033203A200321362201300230033009300B300D300F301130153017301E3036FE3AFE3EFE40FE44FE5AFE5CFE5EFE01FF02FF05FF07FF09FF0CFF0EFF1AFF1BFF1FFF3DFF40FF5CFF5DFF5EFFE0FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240028005B007B00A300A500B70018201C2008300A300C300E301030143016301D3059FE5BFE5DFE04FF08FF0EFF3BFF5BFFE1FFE5FF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000807A005B4009C0082801200000000000000000000000000000006000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000328311000000000000FCFD010000000000000000000000000000000000000000000000000848500000000009F0FF0F000924500000A8030000FFFFFF7FFFFFFF7FFFFFFF7FFFFFFF7FFFFFFF7FFFFFFF7FFFFFFF7F2A2EBA0000040000320000000000000000000000000000000000000000002104000000000000000000000000000000000000101C00000500000000000000000078000000780000000000000000000000A0050000FFFF120000000000000000000000000000000600680061006F003100320033000600680061006F0031003200330000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FEFF0000060102000000000000000000000000000000000001000000E0859FF2F94F6810AB9108002B27B3D9300000001C0100000D000000010000007000000004000000780000000700000088000000080000009C00000009000000AC00000012000000B80000000A000000D80000000C000000E40000000D000000F00000000E000000FC0000000F00000004010000100000000C010000130000001401000002000000A80300001E0000000800000068616F31323300001E0000000C0000004E6F726D616C2E646F746D001E0000000800000068616F31323300001E00000004000000320000001E000000180000004D6963726F736F6674204F666669636520576F7264000000400000000000000000000000400000000054F1E10895CF01400000000054F1E10895CF0103000000010000000300000001000000030000000600000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FEFF000006010200000000000000000000000000000000000100000002D5CDD59C2E1B10939708002B2CF9AE30000000AC0000000A00000001000000580000000F00000060000000050000006C0000000600000074000000110000007C00000017000000840000000B0000008C0000001000000094000000130000009C00000016000000A400000002000000A80300001E00000004000000000000000300000001000000030000000100000003000000060000000300000000000C000B000000000000000B000000000000000B000000000000000B0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000020000000300000004000000050000000600000007000000FEFFFFFF090000000A0000000B0000000C0000000D0000000E0000000F000000FEFFFFFF1100000012000000130000001400000015000000160000001700000018000000190000001A0000001B0000001C0000001D000000FEFFFFFF1F000000200000002100000022000000230000002400000025000000FEFFFFFF2700000028000000290000002A0000002B0000002C0000002D000000FEFFFFFFFDFFFFFF30000000FEFFFFFFFEFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52006F006F007400200045006E00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000501FFFFFFFFFFFFFFFF030000000609020000000000C000000000000046000000000000000000000000F05D14010995CF01320000008000000000000000440061007400610000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A000201FFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000000000000000000000000000008000000001000000000000031005400610062006C006500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E0002010100000006000000FFFFFFFF00000000000000000000000000000000000000000000000000000000000000000000000010000000721A00000000000057006F007200640044006F00630075006D0065006E007400000000000000000000000000000000000000000000000000000000000000000000000000000000001A0002010200000005000000FFFFFFFF0000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000500530075006D006D0061007200790049006E0066006F0072006D006100740069006F006E00000000000000000000000000000000000000000000000000000028000201FFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000000000000000000001E0000000010000000000000050044006F00630075006D0065006E007400530075006D006D0061007200790049006E0066006F0072006D006100740069006F006E00000000000000000000003800020104000000FFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000000000000000000000000000260000000010000000000000010043006F006D0070004F0062006A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012000200FFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000000000000000000000000000075000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000FEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0100FEFF030A0000FFFFFFFF0609020000000000C000000000000046230000004D6963726F736F6674204F666669636520576F72642039372D3230303320CEC4B5B5000A0000004D53576F7264446F630010000000576F72642E446F63756D656E742E3800F439B2710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000这样的数据可以用你的那个判断出是一个word吗?还有就是也有可能这些数据只能读到一部分。
2014-7-1 16:49
0
雪    币: 30031
活跃值: (2477)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
13
。。。
你这个是纯粹裸数据吧
你先解释出复合文件流吧。
2014-7-1 18:27
0
雪    币: 2592
活跃值: (37)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
就是这样的数据啊。非常感谢您。现在这种的复合文件可以解析了。就是XLX2007的这种的裸数据还不知道怎么解析出来。
2014-7-1 18:50
0
雪    币: 81
活跃值: (110)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
15
微软推出的东西竟然不读微软的文档,不知道怎么想的
2014-7-3 11:06
0
雪    币: 6
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
首先解出复合文档,然后找到相应的流,word是"WordDocument"流,ppt是“PowerPoint Document”,Excel是“Workbook”,然后读取流标志,比如“WordDocument”流通常位于前512字节之后的开始位置,在“WordDocument”流的前两个字节0xA5EC就表示它是一个doc文件。如果不是这个标志,就算它是一个复合文档,后缀名是doc也代表它不是一个Word文件。
2014-11-12 11:13
0
游客
登录 | 注册 方可回帖
返回
//