了解Paradox数据库中富文本blob的字节结构

时间:2016-04-15 12:43:15

标签: c winapi binaryfiles richedit paradox

我试图从Paradox数据库的转储中提取数据。它包含两个字段,其中富文本存储为二进制blob,我有解码的麻烦。在blob的中间有纯文本,但它被两个二进制数据块包围,其中包含长度不同的文本的格式信息。到目前为止,我可以理解一些结构,但它不足以可靠地解码整个块或至少计算跳到下一个块的时间。

到目前为止我所拥有的:

  • 块内的Ints采用Little Endian格式
  • blob以44个字节的序列开始
    • 前4个字节似乎总是07 00 00 00
    • 以下4个字节包含以字节为单位的文本长度
    • 其余36个字节的目的尚不清楚
  • 然后是未格式化的文本,其长度在上面给出
  • blob的其余部分包含格式信息并具有可变长度
    • 不知道前25个(或26个)字节是什么
    • 后面跟着一系列格式标记,如下所示:A0 03 00 00 03 80。它们的含义是:从字符0x03A0开始,应用样式编号03
    • 然后有3(或4)个字节指定样式数
    • 之后的风格描述。每个长度为54个字节,字体名称以纯文本显示。
    • 该块以26个字节的未知目的结束

具有Paradox文件格式经验的人告诉我,这个富文本blob可能不是特定于Paradox的。它可能是Windows用于在Richedit字段中存储数据的格式吗?有没有人认识到这种格式?

0 个答案:

没有答案