前段时间我的外部硬盘崩溃了(完全停止工作),我不得不从另一个硬盘中恢复文件,这些文件已被删除。一段时间后,我意识到一些已恢复的图片已损坏。
我无法通过任何图像程序打开这些图像。当我在 .jpgs 上运行“文件”命令时,我得到:
DSCN9129.JPG: JPEG image data, EXIF standard 2.2
DSCN9130.JPG: JPEG image data, EXIF standard 2.2
DSCN9131.JPG: JPEG image data, EXIF standard 2.2
DSCN9132.JPG: DOS executable (COM)
DSCN9133.JPG: data
DSCN9134.JPG: data
DSCN9135.JPG: JPEG image data, EXIF standard 2.2
DSCN9136.JPG: data
DSCN9137.JPG: data
DSCN9138.JPG: data
DSCN9139.JPG: data
DSCN9140.JPG: 8086 relocatable (Microsoft)
DSCN9141.JPG: data
DSCN9142.JPG: data
Run Code Online (Sandbox Code Playgroud)
在那里,我们可以注意到有些图像还可以,有些无法识别,有些则被错误地解释为其他类型的文件。
我正在上传 2 个示例图像:
http://ul.to/u7emvxp8 ---> DSCN9133.JPG(已损坏)
http://ul.to/zegf7q8a ---> DSCN9131.JPG(未损坏)
我使用这个 python 代码来查看文件中的内容:
import sys, os
with open("./images/DSCN9133.JPG", "rb") as f:
stri=""
i=0
byte …Run Code Online (Sandbox Code Playgroud) 什么是十六进制序列"25 E2 E3 CF D3"的功能,在某些文件的开头找到了?据我所知,它应该是一个注释,但它的内容不是任何有意义的文本,并且在许多文档中都会出现相同的序列.
我正在设计一种简单的文件格式,我正在考虑支持 UTF8,而不是仅支持扩展的 US ASCII。
换行字节(十六进制 0x0A)是分隔符之一。这个字节序列是否可以嵌入到多字节UTF8序列中?例如,其中初始字节之一具有高位设置(表示多字节字符),而尾随字节之一是 0x0A?
我正在基于Assembly x86编程语言的内核上工作。我只是想知道.bin文件和.com文件之间有什么区别。我可以从.com文件启动吗?在哪里以及如何使用.com文件?