术语:制表符是不间断空格吗?

Posted

技术标签:

【中文标题】术语:制表符是不间断空格吗?【英文标题】:Terminology: Is tab a non-breaking space? 【发布时间】:2019-11-16 19:50:40 【问题描述】:

AFAIK,nbsp(不间断空格)是这样的:。但是制表符 (\t) 也是一个不间断的空格,对吧?我的意思是它不会创建一个新行。

如果以上所有内容都正确,那么您将如何调用可以包含 \t 的变量?像tabOrNbsp 这样丑陋的东西?

我之所以问,是因为目前在我的代码中,一个名为 nbsp 的变量用于此目的,但这种歧义让我感到恶心。还是像现在这样正确?

附:这个问题太愚蠢了,但不要讨厌,现在我知道它有多愚蠢了。最后,评论者和回答者确实帮助解决了问题!

【问题讨论】:

为什么你认为带有制表符的单词不会中断? @insertusernamehere 嗨,我猜是因为它不会中断,即创建新行。如果我没记错的话,Breaking 就是创建一个新行。 不,那不是要不间断的意思,就是说溢出时不会换行。 "在文字处理和数字排版中,不间断空格(" "),也称为不间断空格、不可断空格(NBSP)、硬空格或固定空格, 是一个空格字符,用于防止在其位置自动换行。在某些格式中,包括 html,它还可以防止连续的空白字符折叠成一个空格。在 HTML 中,常见的不间断空格,它是相同的宽度作为普通的空格字符,编码为  。在Unicode中,编码为U+00A0”(来源:Wikipedia) 不,只有 4 个non-breaking space characters。制表符不在其中。 【参考方案1】:

我想你误解了“non-breaking space”这个词。

通常,虽然空格或制表符不需要换行,但它允许换行。因此,如果一个段落足够长,它最终会跨越多行,即使你使用了大量的空格和制表符。

“不间断空格”是一个不允许允许换行的空格;如果两个单词之间有一个不间断的空格,那么这两个单词将始终在同一行结束,即使它们位于一行的末尾,否则您会期望它们之间换行。在 Unicode 中,不间断空格被编码为特定字符 U+00A0 NO-BREAK SPACE,而在 HTML 中,您可以使用实体引用   方便地嵌入此字符。这个字符不同于普通的空格字符,它在Unicode中被编码为U+0020 SPACE。

如果我正确理解了您的想法,最接近的术语可能是“linear white space”(LWS 或 LWSP),它表示一系列空格或制表符(意思是这些是空格字符“在一行内”,不强制换行)。

【讨论】:

非常感谢您的澄清。您的回答和 cmets 帮助了我,我想我会使用术语 horizontal whitespace。你认为每个不创建新行的空格都正确吗? @NurbolAlpysbayev:“水平空白”对我来说听起来不错! 太棒了!谢谢,那我就用它。顺便说一句,“线性空白”使我感到困惑:“线性空白是:任意数量的空格或水平制表符,以及 newline (CRLF) if...”,否则我会使用它而是。 @NurbolAlpysbayev:“换行符 (CRLF)”是因为在 HTTP 1.x 中,如果 HTTP 标头中的换行符后面跟有空格或制表符,则会被忽略。所以它是语义上只是线性空白的一部分。

以上是关于术语:制表符是不间断空格吗?的主要内容,如果未能解决你的问题,请参考以下文章

你能读一下文件中一行开头的空格或制表符吗?

Python对缩进制表符和空格的解释

用 0 填充空格/制表符分隔的空列

可以根据文件扩展名更改选项卡的长度吗? [复制]

可以在终端中突出显示制表符吗?

java中一个制表符\t占几个字节