我有从设备收到的原始二进制数据。我希望显示像HEX编辑器那样的数据 - 显示十六进制值,但也显示相应的字符。在WPF控件中显示特殊(不可打印)字符
我发现字符有ASCII码0 - 32的字符,但我无法让它们显示在屏幕上。
我试着用WPF列表框,项目控件和文本框。
有一些设置可以使这项工作?
或者也许一些WPF控件会显示这个字符?
编辑:
经过一些思考和测试,只有使问题字符是换行,换页,回车,退格,水平和垂直选项卡。作为快速解决方案,我决定用ASCII 16(10HEX)字符替换这些字符。我用ASCII,UTF-8和Unicode文件测试了它,它可以与这三种格式一起使用。
这里是正则表达式,我使用这个:
rawLine = Regex.Replace(inputLine, "[\t\n\r\f\b\v]", '\x0010'.ToString());
它取代的这6点问题的字符所有出现的一些迹象四四方方。它表明,这不是“常规打印”字符,它适用于我。
我意识到这是一个非常古老的帖子,但是无论如何:你发现哪些字体包含非打印控制代码的图形?我正在开发一个应用程序,我需要向用户显示这些隐藏的字符(很像记事本++的视图 - >显示符号 - >显示所有字符)。更特别的是,我需要在串行数据流中常见的NULL,STX,ETX,ENQ等字符的图形表示。 – 2014-12-13 01:55:25
我不太确定,但我认为这是新快递。或者也许是Consolas。但绝对不是比例字体。 对不起,我无法检查,因为我无法再访问该项目。 – zendar 2014-12-15 11:45:53