我希望在调试或编辑文本时显示空白字符,方法是用合理的Unicode代码点替换它们,然后将它们着色为灰色而不是黑色。
例如,我想替换
SPACE
U+0020
与MIDDLE DOT
·U+00B7
NO-BREAK SPACE
U+00A0
与MEDIUM SMALL WHITE CIRCLE
⚬U+26AC
RIGHTWARDS ARROW
→U+2192
TAB U+0009
。我正在寻找合理的字形:
CARRIAGE RETURN U+000D
newline/LINE FEED U+000A
。 我不想使用PILCROW SIGN
¶U+00B6
,因为它不直观地对应于任何一个,而是新段落的概念。还有DOWNWARDS ARROW WITH CORNER LEFTWARDS
↵U+21B5
但同样,它似乎更像是一个组合符号,而不是单独代表任何一个。
当我有混合行结尾时,我希望能够看到正在使用哪个字符(或两者)。我在浏览器中以HTML格式显示输出。
目前我想不出更好的符号而不是:
- LEFTWARDS ARROW
←U+2190
代表carriage return
- DOWNWARDS ARROW
↓U+2193
newline
。
我知道SYmbOL FOR CARRIAGE RETURN
␍U+240D
,SYmbOL FOR LINE FEED
␊U+240A
和SYMBOL FOR NEWLINE
U+2424
但细节是很难看到他们。
我也不想使用\r
和\n
有两个原因,r
和n
看起来有点相似(不多,但有点)它需要两个字符来显示它们而不是一个。但是,如果我没有得到任何更好的建议,我可以使用DOWNWARDS ARROW WITH CORNER LEFTWARDS
↵U+21B5
进行回车,并使用RIGHTWARDS ARROW WITH CORNER DOWNWARDS
↴U+21B4
进行换行。
答案 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)
我有一个想法,但它只比你目前的想法好一点。