如何使用Unicode显示空白字符进行调试/编辑

时间:2015-03-21 07:02:25

标签: html unicode whitespace

我希望在调试或编辑文本时显示空白字符,方法是用合理的Unicode代码点替换它们,然后将它们着色为灰色而不是黑色。

例如,我想替换

  • SPACE U+0020MIDDLE DOT·U+00B7
  • NO-BREAK SPACE U+00A0MEDIUM SMALL WHITE CIRCLEU+26AC
  • RIGHTWARDS ARROWU+2192 TAB U+0009
  • 等......

我正在寻找合理的字形:

  • CARRIAGE RETURN U+000D
  • newline/LINE FEED U+000A

我不想使用PILCROW SIGNU+00B6,因为它不直观地对应于任何一个,而是新段落的概念。还有DOWNWARDS ARROW WITH CORNER LEFTWARDSU+21B5但同样,它似乎更像是一个组合符号,而不是单独代表任何一个。

当我有混合行结尾时,我希望能够看到正在使用哪个字符(或两者)。我在浏览器中以HTML格式显示输出。

目前我想不出更好的符号而不是: - LEFTWARDS ARROWU+2190代表carriage return - DOWNWARDS ARROWU+2193 newline

我知道SYmbOL FOR CARRIAGE RETURNU+240D,SYmbOL FOR LINE FEEDU+240ASYMBOL FOR NEWLINEU+2424但细节是很难看到他们。

我也不想使用\r\n有两个原因,rn看起来有点相似(不多,但有点)它需要两个字符来显示它们而不是一个。但是,如果我没有得到任何更好的建议,我可以使用DOWNWARDS ARROW WITH CORNER LEFTWARDSU+21B5进行回车,并使用RIGHTWARDS ARROW WITH CORNER DOWNWARDSU+21B4进行换行。

2 个答案:

答案 0 :(得分:2)

正如你所说,U+21B5(↵)是回程的好选择。请注意,它是您输入键上的符号,自电子打字机开放以来,它一直在使用。这也是名称的来源,因为它会真正地返回拿着纸张的托架并将其移动到墨带头下。因此,我认为键盘用户已经根深蒂固,可以直观地识别。

但是,您已经注意到有关可见性的问题,请考虑U+23CE(⏎)。此符号是UNICODE标准的一部分,用于表示退货的明确目的;但它可能被解释为一般的新线,通常是回车和换行的组合(取决于系统)。

U+21B5(↵)是UNICODE箭头块的一部分,而U+23CE(⏎)是"杂项技术的一部分"块。第二个更接近于像您这样的技术考虑有用的东西,而不是常规箭头。

这给我们留下了换行符。当你开始思考它实际上是什么时,即使返回箭头的选择也会变得有问题。换行基本上是向下移动一条线的指令。回车只是将插入符号("支架")移回到行的开头。换行没有 与回车相结合,回车实际上也不必与换行组合(尽管通常没有意义)。在打字机上,这开始有意义。键入一行后,您将把回车摆回到开头,然后向上滚动纸张。基本上是回车+换行。现在你明白为什么"新线"作为历史目的的这两者的组合可能有意义,以及为什么它们可以按任何顺序使用。从技术上讲,您可以在没有回车的情况下进行换行,并继续键入上一行中离开的列。这使我们的↵/⏎受到质疑的原因是该符号似乎意味着回车和换行。实际上,在电子打字机和文字处理器上,它通常会产生一个全新的线。

那么,如何表示换行?指向下方的箭头似乎是直观的选择,但我们可能还需要重新考虑我们的回车。 U+21E9(向下的白色箭头,⇩)在视觉上(可能,因为字形可能会有所不同)与⏎最为一致。但是如果我们继续这样做,你也可以使用U+21E6(向左的白色箭头,⇦)来回车。

选择这么多选项有什么选择?嗯,我个人认为技术上优越的选择是来自UNICODE"控制图片"块。这些是换行符U+240A(␊),回车符U+240D(␍)。它们也吸引了我的程序员,因为代码点的最后一个字节对应于它们的ASCII代码。但我知道它们很难在屏幕上显示出来,可用性可能更重要。但是当被要求显示所有符号时,许多文本编辑都会对此进行一些修改。

所以我说选项是......

  • ␊和␍在技术上最正确。
  • ⇩和⇦为了最直观的清晰度,位于相同的代码块中,并且可能在给定字体的呈现方面保持一致。
  • ↵或⏎作为最容易识别的回车,然后是换行的其他选项;但这也可能是最令人困惑的,因为有角度的箭头实际上意味着回车+换行。

另外,请确保选择可能在大多数浏览器中正确显示的内容,并在各种浏览器和系统上使用不同的默认字体。我注意到当我通过UTF-8表时,补充块的一些代码点没有显示出来。

最后,一句话。是否有必要使用UNICODE符号? Notepad ++,我最喜欢的文本编辑器,使用big" CR"和" LF"当所有符号都可视化时,灰色背景上的符号。也许您可以简单地使用图像(最好根据CSS中的字体大小进行缩放)?

答案 1 :(得分:0)

我有一个想法,但它只比你目前的想法好一点。

这些箭头在它们的末端有线条,可以提醒你从哪里来。 以下是符号的其他各种可能性:

▼◀«⇣⇠⇩⇦↩