在PDF文件中,数据类型字符串具有9位字符。虽然十六进制编码的字符串仅为8位,但在“普通”字符串中,可以为单个字符表示512个不同的不同值。这是使用反斜杠后的字符的八进制表示来实现的。
解析PDF文件时,我应该使用哪种数据类型来存储这些字符串?它真的很烦人,因为我无法处理它们就像一个字节数组,我后来应用了像utf-8这样的编码,但我也不能将它用作已解码的字符串,因为512个不同的字符不足以存储unicode字符,所以这些9位字符串再次需要以某种方式进行编码:/我只是不知道任何编码/解码/从9位“字节”编码...
您对此有任何提示/最佳做法吗?
更新
正如R.Martinho Fernandes所指出的那样:
事件如果它理论上可以用3个八进制数字表示高达512的值,它只能表示小于256的值。唯一奇怪的是它为什么使用3位八进制表示而不只是一个2位十六进制表示?
我认为答案是,\ b和\ f将被视为十六进制值。但我不确定这一点。
无论如何:我很高兴adobe的人们在制作PDF格式时没有喝醉:)并且:我需要一个答案来接受这些人!
答案 0 :(得分:4)
PDF格式仅允许8位字节的字符串。八进制转义可以表示9位单位,但第9个可能位对于表示8位字节无用。这是常见的做法,例如C ++八进制转义也是如此。所以,不用担心,PDF中没有9位字符串:)
答案 1 :(得分:0)
如果您没有真正按下内存空间,为什么不简单地使用16位类型?