Java中IDNA的正则字符串

Java中IDNA的正则字符串,java,encoding,dns,web-standards,Java,Encoding,Dns,Web Standards,是否有一个库能够将Unicode域名解析为IDNA?像שלום.com==>?似乎起到了作用。从我的Scala控制台: scala> java.net.IDN.toUnicode("xn--9dbne9b.com") res0: java.lang.String = שלום.com 请注意,它对主机名有效,而不是URL。因此,您必须首先剥离/提取http://协议 快速浏览一下文档就会发现它的工作方向也是相反的。从上面(变量res0中的我的Unicode主机名) java.net.ID

是否有一个库能够将Unicode域名解析为IDNA?像שלום.com==>?

似乎起到了作用。从我的Scala控制台:

scala> java.net.IDN.toUnicode("xn--9dbne9b.com")
res0: java.lang.String = שלום.com
请注意,它对主机名有效,而不是URL。因此,您必须首先剥离/提取
http://
协议

快速浏览一下文档就会发现它的工作方向也是相反的。从上面(变量
res0
中的我的Unicode主机名)


java.net.IDN只执行IDNA 2003。这已经被IDNA 2008淘汰,甚至存在安全问题。我目前唯一找到的IDNA 2008的Java API是Java中的IDNA2008,请求如下:
scala> java.net.IDN.toASCII(res0)
res3: java.lang.String = xn--9dbne9b.com