2016-01-21 58 views
2
char[] chars = new char[] {'\u0097'}; 
    String str = new String(chars); 
    byte[] bytes = str.getBytes(); 
    System.out.println(Arrays.toString(bytes)); 

当我执行这个代码,我得到“[-62,-105]”在我的Ubuntu 15.10和我得到[-63,-105]在我Windows XP机器。谁能告诉我它的原因?Java代码 - 不同的结果在不同的操作系统相同的代码

+1

使用'getBytes'时,请务必指定所需的编码。否则它是依赖于环境的。 – Thilo

回答

4

String.getBytes()使用默认编码将字符串转换为字节。

显然默认编码在您的机器上是不同的。

测试此通过打印

System.getProperty("file.encoding"); 
相关问题