一个StringBuilder错误与否?

时间:2014-11-23 06:46:36

标签: java stringbuilder

我的测试程序是:

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问题?

1 个答案:

答案 0 :(得分:1)

您的结果的原因是角色65270是阿拉伯语结扎。阿拉伯语是一个从右到左书写的脚本。因此,Eclipse控制台将方向从左到右更改为从右到左。如果您尝试的脚本不是从右到左的脚本,则结果将如预期一样。例如,尝试使用0x5678这是旧的中国符号(重量)。