翻译特别英文字母

时间:2012-02-01 10:40:05

标签: java unicode special-characters

我想知道是否

  1. äöüçÑÃ等特殊字母进行任何“标准”翻译, æ等英文版。德语肯定会将a转录为ae,但美国人可能只会使用a。有标准吗?和
  2. 如果是,Java中是否有任何库包含UTF代码表“Basic Latin”(u0000-u007F)和“Latin-1 Supplement”(u0080-u00FF)中包含的符号?
  3. THX

3 个答案:

答案 0 :(得分:0)

我认为您的问题的解决方案是音译。 请查看以下链接:

ICU Home page

Transliterator class

答案 1 :(得分:0)

我有一个想法,但它不起作用。这只是完全垃圾。不要试试这个。

我不确定是否有这样的标准。

您可以做的一件事就是将normalise字符转换为NFKD形式,将所有字符分解为最基本的元素,例如基本字母和组合标记,然后过滤掉ASCII字符。这需要æaeäa,以及所有其他带有变音符号的单个字符到它们的基本字符。

但这不会让德国人感到高兴。

答案 2 :(得分:0)

使用java Normalizer,您可以将ä分成+组合变音符号。然后你可以简单地删除所有变音符号。

String normalizedString = Normalizer.normalize(s, Normalizer.Form.NFKD);
String ascii = normalizedString.replaceAll("\\p{InCombiningDiacriticalMarks}", "");
相关问题