我一直在尋找國際化的資源標識符,有一件事情讓我煩惱。punycode如何區分類似的IRI?
我的理解是,對於一個域名每個標籤(xyzzy.plugh.com
有三個標籤,xyzzy
,plugh
和com
),執行下面的過程把它翻譯成ASCII表示,使得它可以被所有的傳統處理好軟件:
- 如果它僅由ASCII字符組成,則按原樣複製。
- 否則:
- 首先我們輸出
xn--
後跟所有的ASCII字符(跳過非ASCII)。 - 然後,如果最後一個字符不是
-
,我們輸出-
將ASCII與非ASCII分開。 - 最後,我們使用punycode對每個非ASCII字符進行編碼,以使它們顯示爲ASCII。
- 首先我們輸出
我的問題,然後就是:我們如何在以下兩個Unicode URI的區別?
http://aa☃.net/
http://☃aa.net/
在我看來,那這些都將編碼爲:
http://xn--aa-nfh.net/
僅僅是因爲測序信息已經丟失了標籤作爲一個整體。
或者我錯過了規範中的某些東西?
brunesto,你的聯繫讓我做了更多的調查,結果證明你是對的。已經加入了調查的肉來充實你的答案,希望你不介意。 – paxdiablo