Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Normalizer类未正确规范韩语音节_Java_Unicode_Normalize - Fatal编程技术网

Java Normalizer类未正确规范韩语音节

Java Normalizer类未正确规范韩语音节,java,unicode,normalize,Java,Unicode,Normalize,我正在尝试使用Java的Normalizer类来组合ㅇ,ㅞ,ㄴ至웬。规范化字符串后,它将输出웨ㄴ 如果我执行字符串x=”ㅇㅞᆹ"和Normalizer.normalize(x,Normalizer.Form.NFKC)它工作正常并输出웺 我还要指出,有时同一个字符有不同的数字代码: public void normalize() { char test[] = {'ㅄ'}; System.out.println((int)'ㅄ'); System.out.println(

我正在尝试使用Java的Normalizer类来组合
ㅇ,ㅞ,ㄴ
。规范化字符串后,它将输出
웨ㄴ

如果我执行
字符串x=”ㅇㅞᆹ"
Normalizer.normalize(x,Normalizer.Form.NFKC)
它工作正常并输出

我还要指出,有时同一个字符有不同的数字代码:

public void normalize() {
    char test[] = {'ㅄ'};
    System.out.println((int)'ㅄ');
    System.out.println((int)test[0]);
}
输出:

4537
12612

我做错了什么?为什么Java不将字符规范化为一个音节,为什么相同的字符产生不同的数值?

我无法重现您的输出。它每次打印相同的数字。我猜字符代码在粘贴到上面的代码块时被修改了。但是在Unicode中定义了两个字符:一个是在[Hangul Jamo块](),另一个是在中。所以您没有做错什么,只是对同一个字符使用了两个不同的代码点。