Java 德语 Eszett“ß”的 IDN 转换
Java IDN Conversion of the german Eszett "ß"
我在转换包含德语 Eszett“ß”的域名时遇到问题,通常我使用 java IDN class 来完成此操作,但它无法按预期工作具体案例
String domainName = "faß.de";
String expectedAsciiDomainName = "xn--fa-hia.de";
if (expectedAsciiDomainName.equals(IDN.toASCII(domainName))) {
System.out.println("Cool");
} else {
System.out.println("Not cool");
}
知道为什么它不起作用吗?谢谢
我看到 PHP 中有一个 IDN 转换的非过渡处理选项,它运行得非常好:
echo idn_to_ascii('faß.de', IDNA_NONTRANSITIONAL_TO_ASCII) . PHP_EOL; // return xn--fa-hia.de
有没有办法在 java 上做同样的事情?
我终于找到了这个图书馆:https://github.com/unicode-org/icu
(因为 java class IDN.toASCII 使用 IDNA2003 而不是 IDNA2008)效果很好...
我在转换包含德语 Eszett“ß”的域名时遇到问题,通常我使用 java IDN class 来完成此操作,但它无法按预期工作具体案例
String domainName = "faß.de";
String expectedAsciiDomainName = "xn--fa-hia.de";
if (expectedAsciiDomainName.equals(IDN.toASCII(domainName))) {
System.out.println("Cool");
} else {
System.out.println("Not cool");
}
知道为什么它不起作用吗?谢谢
我看到 PHP 中有一个 IDN 转换的非过渡处理选项,它运行得非常好:
echo idn_to_ascii('faß.de', IDNA_NONTRANSITIONAL_TO_ASCII) . PHP_EOL; // return xn--fa-hia.de
有没有办法在 java 上做同样的事情?
我终于找到了这个图书馆:https://github.com/unicode-org/icu (因为 java class IDN.toASCII 使用 IDNA2003 而不是 IDNA2008)效果很好...