Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image 将(.hex?)文件转换为可视图像_Image_Hex_Jpeg - Fatal编程技术网

Image 将(.hex?)文件转换为可视图像

Image 将(.hex?)文件转换为可视图像,image,hex,jpeg,Image,Hex,Jpeg,我最近收到一个文本文件,告诉我它可以转换成图像。文本文件如下所示 0000000 d8ff e0ff 1000 464a 4649 0100 0001 0100 0000010 0100 0000 e2ff a80c 4349 5f43 5250 464f 0000020 4c49 0045 0101 0000 980c 7061 6c70 1002 ... 000d320 8b4c 1b28 3bd4 0016 91e0 799e 34c1 4457 000d330 7113 ee4d cd7

我最近收到一个文本文件,告诉我它可以转换成图像。文本文件如下所示

0000000 d8ff e0ff 1000 464a 4649 0100 0001 0100
0000010 0100 0000 e2ff a80c 4349 5f43 5250 464f
0000020 4c49 0045 0101 0000 980c 7061 6c70 1002
...
000d320 8b4c 1b28 3bd4 0016 91e0 799e 34c1 4457
000d330 7113 ee4d cd73 4945 63db d9ff          
000d33c
通过谷歌搜索,我很确定这是一个.hex文件(尽管我在网上看到的许多hex文件有不同的格式,所以我不确定)

当我搜索“将十六进制转换为图像”时,像我一样格式化的结果非常干燥

是否有人确定这是什么类型的文件,以及如何将其转换回可查看的图像


谢谢

这看起来像一个jpeg文件,用
.hex
文件编码

我不习惯使用
hex
文件,但第一个7位数看起来基本上是在数行。我将忽略它们,我相信您可以找到关于角色具体是什么(如果有的话!)的文档。实际数据字节是在每行的其余部分编码的字节

不久前,我写了一篇文章。我查了一下源代码,看看我在你的文件中看到的字节是否响了铃:

该文件以
d8ff
开头,我编写的用于编码jpeg的代码从写入文件头开始,该文件头将其标识为jpeg并对其大小等信息进行编码,从写入字节
FFDB
开始(请参阅,其中“SOI”代表“文件的开头”)

然后我们有
e0ff 1000 464a 4649 0100 0001
。。。我的代码写道:
FFE0 0010 4A46 4946 0001 0100
(请参阅),这是带有

最后,文件的最后3个字节是
d9ff
,并将
FFD9
写入文件字节的末尾

显然,您的文件并没有使用与我的代码相同的endianness编写(实际上看起来是这样的,我以前没有看到过…),但是您可以看到,当反转这两个字节的顺序时,每个包含2个字节(4个十六进制字符)的数据包都是相同的!这显然是一个jpeg编码的图像

要将此作为图像阅读,我会尝试:

  • 如果十六进制文件的尾数与您机器上的尾数一致,只需将每行的前7位数字剥离,并将剩余字节写入二进制文件,或者
  • 如果您的机器的尾数与我编写的Jpec的尾数相符,请将前7位数字剥离,并将每个数据包的顺序颠倒为2字节,然后将其作为二进制文件写入 希望这有帮助