1

在 PDF 文件中,数据类型字符串具有 9 位字符。虽然十六进制编码的字符串只有 8 位,但在“普通”字符串中,可以为单个字符表示 512 个不同的不同值。这是使用反斜杠后字符的八进制表示来实现的。

解析 PDF 文件时,我应该使用什么数据类型来存储这些字符串?这真的很烦人,因为我不能像处理字节数组一样处理它们,后来我在上面应用了像 utf-8 这样的编码,但我也不能将它用作已经解码的字符串,因为 512 个不同的字符不足以存储 unicode 字符,所以这些 9 位字符串再次需要以某种方式进行编码:/ 我只是不知道任何编码/解码从/到 9 位“字节”的编码......

您对此有任何提示/最佳实践吗?

更新

正如 R.Martinho Fernandes 指出的那样:

事件如果理论上可以用 3 个八进制数字表示高达 512 的值,则只能表示小于 256 的值。唯一奇怪的是,为什么他们使用 3 位八进制表示,而不仅仅是2位十六进制表示?

我认为答案是, \b 和 \f 然后将被视为十六进制值。但我不确定这一点。

无论如何:我很高兴 adobe 的人在制作 PDF 格式时没有喝醉 :) 并且:我需要一个答案来接受这些人!

4

2 回答 2

4

PDF 格式只允许 8 位字节的字符串。八进制转义可以表示 9 位单位,但第 9 个可能的位对于表示 8 位字节是无用的。这是常见的做法,例如对于 C++ 八进制转义也是如此。所以,不用担心,PDF 中没有 9 位字符串 :)

于 2013-06-27T13:31:23.867 回答
0

如果您不是真的需要内存空间,为什么不简单地使用 16 位类型呢?

于 2013-06-27T12:54:26.800 回答