Java中的IDNA常规字符串

时间:2012-12-18 15:45:15

标签: java encoding dns web-standards

是否有能够将Unicode域名解析为IDNA的库?喜欢שלום。com ==> http://xn--9dbne9b.com/

1 个答案:

答案 0 :(得分:2)

java.net.IDN似乎可以解决问题。从我的Scala控制台:

scala> java.net.IDN.toUnicode("xn--9dbne9b.com")
res0: java.lang.String = שלום.com

请注意,它适用于主机名,而不是URL。因此,您必须首先剥离/提取http://协议。

快速浏览文档显示它也在相反的方向工作。从上面(我在变量res0中的Unicode主机名)

scala> java.net.IDN.toASCII(res0)
res3: java.lang.String = xn--9dbne9b.com