选择一个值以解码PDF中的十六进制字符串

时间:2012-03-28 12:08:53

标签: c#

虽然我们有一个十六进制字符串,但是如何转换十六进制字符串,因为它匹配CharacterMap表中的字符。我尝试将十六进制字符串拆分为连续的两个字符代码,然后使用System.Globalization.NumberStyles.HexNumber获取解码值。但有时它会出错,在这种情况下,上述逻辑无法将十六进制字符串转换为四个字符的子字符串并对其进行解码会产生良好的结果。

例如:

在这种情况下:十六进制字符串<030402>转换为子字符串030402,然后解码子字符串会产生正确的结果。

在这种情况下:十六进制字符串<0000>转换为0000,然后解码子字符串会产生错误的结果。在这种情况下,将十六进制整数0000转换为十六进制会产生正确的结果。

任何人都可以帮我解决这个问题。在此先感谢。

1 个答案:

答案 0 :(得分:0)

查看一些具有预期和实际结果的具体突破性示例将有所帮助。但听起来你可能不会考虑Unicode的可变编码长度。在UTF-8下,字符前两个字节的范围表示字符的大小:

  • 00-9f:一个字节
  • c2-df:两个字节
  • e0-ef:三个字节
  • f0-f4:四个字节