如何在html网页中显示不可打印的字符

时间:2013-12-16 23:58:06

标签: html fonts tags htmlspecialchars

我有一组网页脚本,它们将FIX消息数据作为输入,然后重新格式化并分析它们。在IE7(以及IE8,以及我认为的旧版Firefox)中,这些工具可以将FIX消息打印到网页,而不可打印的字符(例如0x01分隔符)将显示为空框符号/字形。

在IE9和Firefox 25下,这种情况不再发生。 0x01字节被打印到屏幕上并被“视觉截断”,即使它们仍在页面上。例如我可以复制FIX消息文本并将其粘贴到记事本++我已经验证了0x01字节肯定仍然存在。问题是在网页上0x01字节不可见。

试试吧。将下面的文本复制并粘贴到Notepad ++或其他文本编辑器中并启用“显示特殊字符”,您应该看到0x01分隔符字符,但它们不会显示在下面。 出于某种原因,Stackoverflow不幸的是,正在将SOH特征从字符串中剥离出来。

  

8=FIX.4.09=012235=U

  1. 是否有任何新的html标签可以包装FIX消息,以便它们仍然可以打印框字符来筛选不可打印的字符?

  2. 还有其他解决方法可以达到此目的吗?我可以用0x01字符替换例如。 “|”字符,但我更喜欢是否有特定的html标签或字体可以使这些不可打印的字符可见,以便FIX消息本身保持不变。

  3. 提前致谢。

    EDIT1。我刚刚尝试使用http://www.typetester.org/并检查了90%的可用字体,并且没有找到任何在firefox下显示0x01的方框符号... :(

    EDIT2。刚刚尝试使用带有FIX消息文本的IE9的typetester.org并且具有相同的结果...没有尝试任何字体的任何类型的可见字符,但是在网页上显示并复制并粘贴到记事本++中的文本确实显示了teh 0x01字符是还在那儿。看起来像通过字体这样做可能是不可能的...有没有人知道任何特定的标签,当包裹一些文字可能会改变显示行为?

1 个答案:

答案 0 :(得分:0)

最后,我最终使用了一个解决方案来将字符替换为空格......远非我希望的那样 - 但至少它会使标签再次可读,而不是一起运行。

8=FIX.4.0 9=0122 35=U