跳到正文
编写
登录

文件类型与签名:修订间差异

更多
迷雾样式迁移​(留言 | 贡献)
重排科普目录与分类页面;保留工具索引和学习资源
 
迷雾样式迁移​(留言 | 贡献)
重写科普正文:定义、结构、原理与资料表
第1行: 第1行:
文件扩展名是文件名的一部分,文件签名则是格式规范定义的特定字节或结构。两者可能不一致:把 <code>.png</code> 文件改名为 <code>.txt</code> 并不会改变其开头的 PNG 签名。<ref>[https://www.w3.org/TR/png-3/#5PNG-file-signature W3C《PNG 第三版规范》,英文,第 5.2 节文件签名]</ref>
文件扩展名是名称的一部分,文件签名是格式规定的字节特征。软件常把两者与内部结构一同用于识别文件类型;单靠扩展名不能确定内容。文件签名也不总位于文件第一个字节。


== 识别方法 ==
== 常见开头字节 ==
查看文件开头几个字节及后续结构,再按相应规范解析;不要只寻找一个短字节串就断言完整格式。PNG 的八字节签名之后还应有 <code>IHDR</code>;ZIP 文件也可能有自解压前缀或嵌在其他载体中。MIME 类型是传输或声明的媒体类别,并非自动从文件名可靠推断出的内容。<ref>[https://www.iana.org/assignments/media-types/media-types.xhtml IANA《Media Types》注册表,英文]</ref>
{| class="wikitable"
 
! 格式 !! 典型文件开头
== 边界 ==
|-
文件可能损坏、截断或故意伪装。识别结果只能说明“与某格式特征一致”,仍应检查长度、校验与内部结构。保留原件,任何手工改动都在副本上进行。
| PNG || <code>89 50 4E 47 0D 0A 1A 0A</code>
 
|-
== 相关条目 ==
| ZIP || 常见为 <code>50 4B 03 04</code>;空归档等情形可使用其他 ZIP 记录签名。
[[十六进制与字节序]] · [[压缩格式]]
|-
| PDF || <code>%PDF-</code> 的 ASCII 字节序列。
|}
某些容器格式可承载多种内部文件类型;例如许多办公文档以 ZIP 为容器。签名能帮助判断结构类别,却不能证明文件安全、内容真实或文件名可信。


== 参考资料 ==
== 参考资料 ==
<references />
* [https://www.w3.org/TR/png-3/#5PNG-file-signature W3C《PNG 第三版规范》,英文,第 5.2 节文件签名]
* [https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT PKWARE《ZIP 文件格式规范》,英文,记录签名]
* [https://opensource.adobe.com/dc-acrobat-sdk-docs/standards/pdfstandards/pdf/PDF32000_2008.pdf Adobe 提供的《PDF 32000-1:2008》,英文,第 7.5.2 节文件头]


[[工具和科普/图片与文件|返回图片与文件]]
[[工具和科普/图片与文件|返回图片与文件]]

2026年10月14日 (三) 10:14的版本

文件扩展名是名称的一部分,文件签名是格式规定的字节特征。软件常把两者与内部结构一同用于识别文件类型;单靠扩展名不能确定内容。文件签名也不总位于文件第一个字节。

常见开头字节

格式 典型文件开头
PNG 89 50 4E 47 0D 0A 1A 0A
ZIP 常见为 50 4B 03 04;空归档等情形可使用其他 ZIP 记录签名。
PDF %PDF- 的 ASCII 字节序列。

某些容器格式可承载多种内部文件类型;例如许多办公文档以 ZIP 为容器。签名能帮助判断结构类别,却不能证明文件安全、内容真实或文件名可信。

参考资料

返回图片与文件

迷雾 Wiki
搜索迷雾 Wiki
阅读设置