不換行空格

不換行空格non-breaking spaceNBSP)是空格字元,用途是禁止自動換行HTML頁面顯示時會自動合併多個連續的空白字元,但該字元是禁止合併的,因此該字元也稱作「硬空格」(hard space、fixed space)。Unicode碼點為:U+00A0   NO-BREAK SPACE

 
不換行空格
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

禁止自動換行

編輯器一般會把自動換行放在空格字元處。但是,有些文字內容在排版時不適合被放在連續的一行行尾與下一行行首。例如:「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」。但在文字中間使用該字元是過時的用法,應該用 連詞字元 U+2060這個字元代替作為「0寬度不換行」字元的功能。

編碼

字元  
Unicode名稱 不換行空格符
編碼 十進位 十六進位
Unicode 100 U+00A0
UTF-8 194 160 C2 A0
UTF-16 160 00A0
字元值參照    
字元值參照  
ISO/IEC 8859 (1-16) / ECMA-94 160 A0
Windows code page英語Windows code page1250英語Windows-12501251英語Windows-125112521253英語Windows-12531254英語Windows-12541255英語Windows-12551256英語Windows-12561257英語Windows-12571258英語Windows-1258 160 A0
KOI8-RKOI8-U 154 9A
DOS 頁碼437850英語Code page 850851英語Code page 851852英語Code page 852853英語Code page 853855英語Code page 855856英語Code page 856857英語Code page 857858英語Code page 858859英語Code page 859860英語Code page 860861英語Code page 861862英語Code page 862863英語Code page 863864英語Code page 864865英語Code page 865866英語Code page 866867英語Code page 867869英語Code page 869 255 FF
HP Roman-8英語HP Roman#HP_Roman-8HP Roman-9英語HP Roman#HP_Roman-9 160 A0
LICS英語Lotus International Character Set 154 9A
ASCII, ISO/IEC 646 (無)
TeX ~
EBCDIC 十六進制41 – RSP(Required Space,必須的空格)

鍵盤輸入法

作業系統/應用程式 輸入方法
Apple Mac OS X Opt+Space
X11 Compose英語Compose key , 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 [2013-06-01], (原始內容存檔於2022-05-16) .
  2. ^ Text, CSS 2.1, W3, [2013-06-01], (原始內容存檔於2022-04-07) .