idnkit-2 库是包含 idnkit-2 JPRS 公共许可证的开源 IDN 实现。专用的 idnkit-2 转换实用程序 idnconv(1) 提供了带有各种选项的 IDN 转换。有关用于控制转换详细信息的选项的更多信息,请参见 idnconv(1) 手册页。
利用 libidnkit (3) 中的转换例程,Oracle Solaris 11 还支持通过 iconv(3C) 接口进行 IDN 转换。iconv(1) 实用程序还可用于 ACE 与 UTF-8 之间的转换,如下表所示。
由于 IDNA2008 明确定义了两种操作模式的术语,即 lookup 和 registration,我们也将提供相应的 iconv 代码转换名称别名,即 IDNA2008-LOOKUP(ACE-ALLOW-UNASSIGNED 的别名)和 IDNA2008-REGIST(ACE 的别名)。
|
ACE 和 ACE-ALLOW-UNASSIGNED iconv 代码转换名称(及其别名)具有以下含义:
ACE 或 IDNA2008-REGIST
ACE 是可在 iconv 代码转换中使用的 fromcode 或 tocode 名称,指 RFC 5890 中定义的 ASCII 兼容编码。该转换使用 STD3 ASCII 规则。不允许使用未分配的字符。ACE 通常用于将主机名或域名存储在或传递到计算机上。
ACE-ALLOW-UNASSIGNED 或 IDNA2008-LOOKUP
ACE-ALLOW-UNASSIGNED 与 ACE 执行相同的操作,只是 ACE-ALLOW-UNASSIGNED 允许使用未分配的字符。ACE-ALLOW-UNASSIGNED 通常用于查询。
以下示例显示了以 hostnames.txt 文件作为输入的 ACE 到 UTF-8 的转换。输出转为标准输出。
$ iconv -f ACE -t UTF-8 hostnames.txt
有关 idnkit -2 库和 iconv 代码转换的信息,请参见 libidnkit(3) 和 iconv_en_US.UTF-8(5) 手册页。