我正在尝试在java中将字母字符与重音符号结合起来。例如: 将字母“e”(\u0065) 与组合重音符号 (\u0300) 组合起来。 我在java中尝试了多种方法,并相信我应该使用java.text.Normalizer,但不知道如何去做。
我已尝试以下操作:
String combinedLetter = Normalizer.normalize("\u0065\u0300", Form.NFKD);
还有
Char CombinedLetter = (char) (0+0065 + 0+0300));
但是到目前为止都没有奏效,有什么想法可以做到这一点吗?我不能只使用 é 字符,因为我需要对每个字母字符执行此操作。
你工作太辛苦了。无需调用任何标准化器。无需铸造。
自 Java 2 以来,
char
类型已基本被破坏,自 Java 5 以来已被遗留。作为 16 位值,char
在物理上无法表示大多数字符。
要处理单个字符,请使用 Unicode 代码点整数。您将在各种类上找到代码点方法,例如
String
、StringBuilder
和 Character
。
这是使用十六进制数字的代码点文字的示例。
System.out.println( "\u0065\u0300" ) ;
è
这里是
String output = new StringBuilder().appendCodePoint( 101 ).appendCodePoint( 768 ).toString() ;
System.out.println( output ) ;