【发布时间】:2015-10-15 15:30:31
【问题描述】:
我编写的过滤程序有问题。它通过读取文件的前 5 个字节并将其与固定缓冲区进行比较来检测文件是否为 PDF 文档:
25 50 44 46 2D
这很好用,只是我看到一些以字节顺序标记开头的文件:
EF BB BF 25 50 44 46 2D
^-------^
我想知道PDF specs 是否真的允许这样做。如果我检查该文档的第 7.5 节,我将其读作“否”:
PDF 文件的第一行应是由 5 个字符 %PDF– 后跟 1.N 形式的版本号组成的标题,其中 N 是 0 到 7 之间的数字
然而,我在野外看到这些文档,用户感到困惑,因为 PDF 阅读器程序可以通过我的过滤器打开这些文档拒绝它们。
那么:在 PDF 文档的开头是否允许使用 BOM 标记? (这里我说的不是字符串对象,而是 PDF 文件本身)
【问题讨论】:
标签: pdf byte-order-mark