Java 特殊信函的英文翻译

Java 特殊信函的英文翻译,java,unicode,special-characters,Java,Unicode,Special Characters,我想知道 像ä,ö,ü,ç,ñ,Ã,æ等特殊字母有标准的英语翻译。德国人肯定会把A转录成ae,但美国人可能只会用A。有什么标准吗?和 如果是,是否有Java库包含UTF代码表基本拉丁语u0000-u007F和拉丁语-1补充语u0080-u00FF中包含的符号? Thx我认为解决你问题的办法是音译。 请查看以下链接: 我有个主意,但不管用。这完全是胡说八道。不要尝试这个 我不确定是否有这样的标准 您可以做的一件事是将字符转换为NFKD格式,它将所有字符分解为其最基本的元素,例如基本字母和组合标记,

我想知道

像ä,ö,ü,ç,ñ,Ã,æ等特殊字母有标准的英语翻译。德国人肯定会把A转录成ae,但美国人可能只会用A。有什么标准吗?和 如果是,是否有Java库包含UTF代码表基本拉丁语u0000-u007F和拉丁语-1补充语u0080-u00FF中包含的符号?
Thx

我认为解决你问题的办法是音译。 请查看以下链接:

我有个主意,但不管用。这完全是胡说八道。不要尝试这个

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

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

不过,这不会让德国人高兴。

使用java,您可以将ä拆分为+组合变音符号。然后你可以简单地去掉所有的变音符号

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

这个问题叫做。这是一个棘手的问题:问题2是什么意思?你所说的符号是指字符吗?对于一个库来说,字符化一个glyph意味着什么?而“字符化一个glyph”是指“覆盖一个glyph”。很抱歉今天早上咖啡不够。我认为æ在正常化过程中不会受到影响;当然不应该,因为它在Unicode中没有分解。这同样适用于例如Ł,尽管笔划在直觉上可能被视为一个变音符号,但在Unicode中并没有这样定义;Ł是一个没有分解的基本字母。你是对的,这不起作用。某些连字确实具有兼容性分解,例如ffi连字,但并非全部。我没有意识到,我知道w没有分解成vv,我想。也不是说有些派生字母不被视为对其基本字母的修改。抱歉,你终于想出解决办法了吗?请分享。