一、什么是文件头
文件的本质是一串二进制,文件头特指文件开头的数据块,一般用于描述文件的属性、格式及其他信息。
二、文件头的读取示例
C#代码
namespace ConsoleApp1
{
internal class Program
{
static void Main(string[] args)
{
// 获取桌面下所有文件的文件头
var desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
var dir = new DirectoryInfo(desktopPath);
foreach (var item in dir.GetFiles())
{
using var fs = new FileStream(item.FullName, FileMode.Open);
var b = new byte[3];
fs.Read(b, 0, 3);
Console.WriteLine(Convert.ToHexString(b) + ":" + item.Extension);
}
}
}
}
运行结果
三、常见的文件头类型
文件类型 | 文件头 |
---|---|
doc | DOCF11 |
zip/docx/xlsx/pptx/jar | 504B03(封装的文件使用zip格式压缩) |
jpg/jpeg | FFD8FF |
exe | 4D5A50 |
png | 89504E |
纯文本文件 | 没有固定的文件头,取决于文件内容 |