У меня есть необработанные двоичные данные, полученные от устройства.Я хотел бы отображать эти данные так, как это делают редакторы HEX - отображать шестнадцатеричные значения, но также отображать соответствующие символы.
Я нашел шрифты, которые имеют символы для кодов ASCII 0 - 32, но я не могу их отобразить на экране.
Я пробовал это с WPF listbox, itemscontrol и textbox.
Есть ли какие-то настройки, которые могут заставить это работать?
Или, может быть, какой-то элемент управления WPF, который будет отображать эти символы?
Редактировать:
После некоторых размышлений и испытаний только символы, вызывающие проблемы, - это перевод строки, перевод формы, возврат каретки, возврат на одну позицию, горизонтальная и вертикальная табуляция.В качестве быстрого решения я решил заменить эти символы на символы ASCII 16 (10HEX).Я протестировал это с файлами ASCII, UTF-8 и Unicode, и он работает с этими тремя форматами.
Вот регулярное выражение, которое я использую для этого:
rawLine = Regex.Replace(inputLine, "[\t\n\r\f\b\v]", '\x0010'.ToString());
Он заменяет все вхождения этих 6 проблемных символов некоторым квадратным знаком.Это показывает, что это не «обычный печатный» символ, и он работает для меня.