2009-10-26 23 views
1

在爲PDF,HTML和其他文檔編寫解釋器時,我們需要處理各種空格字符和其他非打印字符。 ANSI的定義很明確,但在實踐中可能會找到多少其他的?一個典型的例子是在ISO10646集羣(我認爲):通常使用多少個非打印字符?

          en space 
         em space 
         thin space 
‌ ‌  ‌ ‌ zero width non-joiner 
‍ ‍  ‍ ‍ zero width joiner 
‎ ‎  ‎ ‎ left-to-right mark 
‏ ‏  ‏ ‏ right-to-left mark 

(對於字符不出現以上顯而易見的原因!)。

回答

2

的Unicode會和我們在一起,在增加數量,很長一段時間。如果HTML或XML文檔是以UTF-8編碼的Unicode編寫的,那麼您應該期望出現任何和所有這些。

在Unicode中(Unicode字符數據庫)以下碼點被定義爲空白:

U+0009–U+000D (control characters, containing Tab, CR and LF) 
U+0020 SPACE 
U+0085 NEL (control character next line) 
U+00A0 NBSP (NO-BREAK SPACE) 
U+1680 OGHAM SPACE MARK 
U+180E MONGOLIAN VOWEL SEPARATOR 
U+2000–U+200A (different sorts of spaces) 
U+2028 LS (LINE SEPARATOR) 
U+2029 PS (PARAGRAPH SEPARATOR) 
U+202F NNBSP (NARROW NO-BREAK SPACE) 
U+205F MMSP (MEDIUM MATHEMATICAL SPACE) 
U+3000 IDEOGRAPHIC SPACE 
+0

@Michael謝謝 - 很有用。不與我列出的那些重疊。 – 2009-10-26 21:48:02

1

在開發世界有至少一個以上(最常見的Web開發中使用)

  // non-breaking space 

但是你來設計世界越多,你看到各種空間/隱形字符。出版軟件通常有

  • 空間 - 常規SPACE
  • 半角空格
  • 全角空格
  • 狹窄的空間
  • 頭髮空間
  • 非換空間
  • 非打破固定的寬度空間
  • 第六空間
  • 季度空間
  • 第三空間
  • 標點符號空間
  • 沖洗空間
  • 數字空間
  • ...
+0

是,0XA0;見http://en.wikipedia.org/wiki/Non-breaking_space – 2009-10-26 21:46:12

+0

@羅伯特你可以請列出數字? – 2009-10-26 21:49:06

+0

#fail。我剛寫下了我在InDesign中看到的那些。我不確定它們是否都是實際的UNICODE標準。抱歉。有些是相當設計導向的(如沖洗空間),也許只存在於軟件中。 – 2009-10-26 22:43:50