0
是否有能够将Unicode域名解析为IDNA的库? Likeשלום。com ==>http://xn--9dbne9b.com/?Java中IDNA的常规字符串
是否有能够将Unicode域名解析为IDNA的库? Likeשלום。com ==>http://xn--9dbne9b.com/?Java中IDNA的常规字符串
java.net.IDN似乎要做的伎俩。从我的Scala控制台:
scala> java.net.IDN.toUnicode("xn--9dbne9b.com")
res0: java.lang.String = שלום.com
请注意,它适用于主机名,而不是URL。所以你必须先剥离/提取http://
协议。
快速浏览一下文档,也可以发现它在相反的方向工作。从上面(我的Unicode主机名在变量res0
)
scala> java.net.IDN.toASCII(res0)
res3: java.lang.String = xn--9dbne9b.com
它的工作方向是否相反? –
它的确如此。见上面 –
java.net.IDN只做IDNA 2003.这已经被IDNA 2008废弃,甚至有安全问题。唯一可以找到的IDNA 2008 Java API是http://icu-project.org/apiref/icu4j/com/ibm/icu/text/IDNA.html – rockdaboot