无法从Firebird blob sub_type 0字段中找到文件扩展名

时间:2018-04-27 09:58:22

标签: python firebird

我一直致力于使用Python从Firebird数据库迁移到MongoDB。

我们能够提取数据并成功转换为MongoDB。

作为最后阶段,我很震惊地找到一个字段数据(type = blob sub_type 0)的文件扩展名。我花了一个多星期来弄清楚数据。但我无法转换或解码数据格式。我也尝试过在线工具将二进制转换为图像。根据表格,二进制数据是图像文件。

另一个能够保存并能够打开文件的表的相同blob sub_type 0字段。

请帮我弄清楚下面的数据

以下是无法读取/查看

的二进制数据(从火焰知识工具编辑)
21485A4CDB630000 8B64C56CC6673ADD 2EADFE1636DEE5EB 51801B2DB3D9CFB3 
1F8EAE8D015C0032 14C0591CA54D1ACA 14F2D93A2C954662 8E82565E5C7C8CCE 
6B3D83312F9D8935 F8D

所有文件二进制数据将以 21485A4C

启动

1 个答案:

答案 0 :(得分:2)

blob sub_type binarysub_type binarysub_type 0的人类可读别名)就是二进制数据。火鸟不知道也不关心你放在那里的东西。除非您将文件放在那里(或将其放在随附的列中),否则没有文件扩展名或文件扩展名。如果您没有向我们展示数据是如何放入那里的,我们无法知道它是否存在或如何将其输出。

另一方面,如果您想根据数据推断图像类型,那么您的问题可以简化为“我有一些二进制数据。我知道它是一个图像,但我不知道它的类型。如何从(匿名)二进制数据中确定图像类型?“。那么你的问题就不再是与Firebird有关的了。

21485A4C解码为ASCII会为您提供!HZL(反向LZH!),这可能表明它是LZH或LHA压缩。

我认为这不会帮助您找到图像类型。换句话说,您需要回到源代码,找出放入的数据及其编码方式,以便能够知道如何正确解码数据。

我认为你可以访问最初创建数据的程序,所以我会开始寻找那里。