不换行空格

求闻百科,共笔求闻
 
不换行空格
UnicodeU+00A0   NO-BREAK SPACE ,HTML:   
参阅U+0020   SPACE ,HTML: Note: Representations here of a regular space are replaced with a no-break space
Other types of spaces

不换行空格(英语:no-break spaceNBSP)是空格字符,用途是禁止自动换行HTML页面显示时会自动合并多个连续的空白字符,但该字符是禁止合并的,因此该字符也称作“硬空格”(hard space、fixed space)。Unicode码点为:U+00A0   NO-BREAK SPACE

禁止自动换行

编辑器一般会把自动换行放在空格字符处。但是,有些文本内容在排版时不适合被放在连续的一行行尾与下一行行首。例如:“100 km”,就不应该在其中间的那个空格处换行。所以编辑器应该在"100"与"km"之间放置一个“不换行空格”,使得"100 km"是不可断开换行的,如果它不适合在行尾的剩余排版空间,就整体排版到下一行行首。

禁止合并空白字符

SGMLHTMLTeXLaTeX,把连续的空白字符(如空格符、换行符、tab符等)视作一个空格字符。这使得作者可以自由排版其源码而不影响其最终产生的效果[1][2]

相反,不换行空格在上述语言环境下,不与其它相邻的空白字符合并,这使得作者可用不换行空格安排格式化排版文本的额外的视觉空间效果。例如在HTML,不换行空格与定宽字符可用来创建对齐的表格:

   Column 1  Column 2
   --------  --------
        1.2       2.3

如果用普通空格符,则HTML排版效果将被合并压缩为这样:

Column 1 Column 2
-------- --------
1.2 2.3

不同宽度的变种

  • 不换行窄空格(No-break thin space,Unicode命名为“Narrow No-Break Space”,U+202F NARROW NO-BREAK SPACE). Unicode 3.0引入该字符用于蒙古文,把词的后缀与词干分开。也用于法文(在?, !, ;之前)与俄文(在之前)的标点符号。
  • 词连接(Word joiner), Unicode 3.2引入该字符:U+2060。HTML作为⁠。该字符不占用字宽(实际上是个不可打印字符),但禁止在该字符两侧发生换行。
  • 字节顺序标记, U+FEFF, Unicode命名为“Zero Width No-Break Space”。但在文本中间使用该字符是过时的用法,应该用 Word joiner U+2060这个字符代替作为“0宽度不换行”字符的功能。

编码

字符  
Unicode名称 不换行空格符
编码 十进制 十六进制
Unicode 160 U+00A0
UTF-8 194 160 C2 A0
字符值引用    
字符值引用  
ISO/IEC 8859 (1-16) / ECMA-94 160 A0
Windows code page125012511252125312541255125612571258 160 A0
KOI8-RKOI8-U 154 9A
DOS 代码页437850851852853855856857858859860861862863864865866867869 255 FF
HP Roman-8HP Roman-9 160 A0
LICS 154 9A
ASCII, ISO/IEC 646 (无)
TeX ~
EBCDIC 十六进制41 – RSP(Required Space,必须的空格)

键盘输入法

操作系统/应用程序 输入方法
Apple Mac OS X Opt+Space
X11 Compose , Space, Space
GNU Emacs Ctrl+X 8 Space
Vim Ctrl+K, Space, Space; or Ctrl+K, Shift+N, ⇧ Shift+S
Dreamweaver, LibreOffice, Microsoft Word,
OpenOffice.org (3.0以后)
Ctrl+⇧ Shift+Space
WordPerfect, OpenOffice.org (3.0以前), LyX Ctrl+Space
Mac Adobe InDesign ⌥ Opt+⌘ Cmd+X

参考文献

  1. Structure, HTML 4.01, W3, 1999-12-24 .
  2. Text, CSS 2.1, W3 .