2012-03-28 1 views
-1

Хотя у нас есть шестнадцатеричная строка, как преобразовать шестнадцатеричную строку в соответствии с символами в таблице CharacterMap. Я попытался разделить шестнадцатеричную строку как последовательные два символьных кода, а затем получить декодированные значения, используя System.Globalization.NumberStyles.HexNumber. Но в некоторых случаях это происходит неправильно, и в этих случаях вышеприведенная логика не позволяет преобразовать шестнадцатеричную строку в виде четырехсимвольных подстрок и декодировать, что дает хороший результат.Выбор значения для декодирования шестнадцатеричной строки в PDF

Например:

В случае: шестнадцатеричная строка преобразуется в <030402> подстроки 03, 04 и 02, а затем декодирование подстроки производит правильный результат.

В случае: шестнадцатеричная строка <0000>, преобразованная как 00, 00, а затем декодирование подстрок дает неверный результат. В этом случае преобразование шестнадцатеричного укуса в целом 0000 в шестнадцатеричный дает правильный результат.

Может ли кто-нибудь помочь мне в этом. Заранее спасибо.

+0

Можете вставить код, который используете? – albertjan

ответ

0

Увидеть некоторые из ваших конкретных примеров прерывания с ожидаемыми и фактическими результатами поможет. Но похоже, что вы не можете указывать длины переменных кодировки Unicode. Под UTF-8, диапазон первых двух байтов персонажа указывает размер персонажа:

  • 00-9f: один байт
  • с2-ДФ: два байта
  • е0-EF: три байта
  • f0-f4: четыре байта