0
私はこれを文字列の文字をループして印刷しようとしました。彼らはDeseret Long I()を除いてすべて印刷されています。これを行う他の方法があるかどうかはわかりませんので、正しく印刷されています。ここに私のコードは次のとおりです。Java:サロゲートペアを持つ文字列の文字をループして印刷するにはどうすればよいですか?
package javaapplication13;
public class JavaApplication13 {
public static void main(String[] args) {
String s = "hy\u0500";
System.out.println(s);
final int length = s.length();
for (int offset = 0; offset < length;) {
final int codepoint = s.codePointAt(offset);
System.out.println((char) (codepoint));
offset += Character.charCount(codepoint);
}
}
}
出力は、この(Netbeansの)次のようになります。あなたの問題は、あなたが(2バイトに4バイト)int
char
に変換しようとすることに起因する
run:
hyԀ
h
䍡
y
Ѐ
Ԁ
BUILD SUCCESSFUL (total time: 0 seconds)
'System.out.println(Character.toChars(codepoint));'動作します!ありがとうございました! –