术语:制表符是不间断空格吗?
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 标头中的换行符后面跟有空格或制表符,则会被忽略。所以它是语义上只是线性空白的一部分。以上是关于术语:制表符是不间断空格吗?的主要内容,如果未能解决你的问题,请参考以下文章