我的测试程序是:
public class Test {
public static void main(String[] args) {
char ch = 65270;
StringBuilder sb = new StringBuilder();
sb.append(ch);
sb.append(" -> ");
sb.append(Integer.valueOf(ch));
System.out.println(sb.toString());
}
}
结果是:65270< - لآ
我不明白为什么?
我到期的结果是:? - > 65270
终端的实际结果(使用命令" javac Test.java"和" java Test"):? - > 65270
但是在Eclipse控制台中:65270< - ?
看起来像Eclipse问题?
答案 0 :(得分:1)
您的结果的原因是角色65270是阿拉伯语结扎。阿拉伯语是一个从右到左书写的脚本。因此,Eclipse控制台将方向从左到右更改为从右到左。如果您尝试的脚本不是从右到左的脚本,则结果将如预期一样。例如,尝试使用0x5678这是旧的中国符号(重量)。