的HTML 4.01 spec says for hexadecimal character references規格理由到想
數字字符引用指定文檔字符集中的 的代碼位置。
所以如果文檔字符集編碼是UTF-8,那麼數字引用應該指定一個Unicode代碼點。
的HTML5 spec says for hexadecimal character references
的符號必須遵循由U + 0023數字符號字符(#), 必須後跟一個U + 0078拉丁小寫字母X 字符(x)或一個U + 0058 LATIN CAPITAL LETTER X字符(X),其 然後必須隨後在範圍內的一個或多個數字U + 0030 DIGIT 零(0)到U + 0039數字9(9),U + 0061 LATIN小寫字母A到 U + 0066拉丁小寫字母F和U + 0041 LATIN CAPITAL LETTER A到 U + 0046 LATIN CAPITAL LETTER女,代表一個鹼16整數 ,它對應於根據以下定義 允許的Unicode代碼點。這些數字後面必須跟着一個U + 003B SEMICOLON字符(;)。
沒有提到該文件的字符集,而且它只是說,該數值標識Unicode代碼點。
但似乎所有的現代瀏覽器(我沒有測試過老的)治療€通過Ÿ因爲如果他們引用的Windows 1252
例如,€顯示€
,但U + 0080不是€
的代碼點,U + 20AC是。並且U + 0080的Unicode代碼點被定義爲PAD
€也(正確)顯示€
。
是通過瀏覽器這只是務實的行爲,或有在我缺少一個規範的理由?
[注意小數字符引用具有相同的行爲。我只是用於明確和一致的十六進制那些]
啊,是的,謝謝你。維基百科幾乎沒有一個規範,所以不完全回答這個問題,但無論如何非常有幫助。 +1 – Alohci 2011-12-23 15:09:16