國際化網域名稱 (IDN) 使得主機和網域名稱可以使用非英文原生語言名稱。若要使用非英文的主機和網域名稱,請在將這些名稱傳送到解析程式常式 (RFC 3490 中指定的) 之前,先轉換為 ASCII 相容編碼 (ACE) 的編碼名稱。對於不支援 IDN 的系統管理應用程式,系統管理員也需要在檔案系統和應用程式中使用 ACE 名稱。
請參閱 RFC 3490 應用程式中的國際化網域名稱 (IDNA)。
libidnkit(3EXT) 中用於國際化網域名稱的 API,在 UTF-8 或應用程式語言環境的字碼集與 ACE 之間,提供方便的轉換。如果使用了 idn_decodename2(3EXT),您也可以指定任意字碼集名稱做為輸入引數的字碼集。
來源字碼 |
目的字碼 |
---|---|
ACE ACE-ALLOW-UNASSIGNED |
UTF-8 UTF-8 |
UTF-8 UTF-8 |
ACE ACE-ALLOW-UNASSIGNED |
ACE 和 ACE-ALLOW-UNASSIGNED iconv 字碼轉換名稱具有下列含義:
ACE。
在 iconv 字碼轉換中,ACE 是一個用來參閱到 ASCII 相容編碼 (定義於 RFC 3490) 的 fromcode 或 tocode 名稱。此轉換使用 STD3 ASCII 規則。不允許使用未指定的字元。ACE 通常用於儲存或是給定機器的主機或網域名稱。
ACE-ALLOW-UNASSIGNED。
ACE-ALLOW-UNASSIGNED 執行與 ACE 相同的作業,並且 ACE-ALLOW-UNASSIGNED 允許使用未指定的字元。ACE-ALLOW-UNASSIGNED 通常用於查詢目的。
下列是從 ACE 轉換為 UTF-8 的範例,輸入來源是 hostnames.txt 檔案。輸出為標準輸出。
system% iconv -f ACE -t UTF-8 hostnames.txt
專屬的 IDN 轉換公用程式 idnconv(1) 提供 IDN 轉換及許多選項。這些選項可以控制轉換細節。
如需關於 IDN、轉換常式和 iconv 字碼轉換的資訊,請參閱「libidnkit(3LIB) 線上說明手冊」、「idn_decodename(3EXT) 線上說明手冊」、「idn_decodename2(3EXT) 線上說明手冊」、「idn_encodename(3EXT) 線上說明手冊」以及「iconv_en_US.UTF-8(5) 線上說明手冊」。