【发布时间】:2014-07-05 08:35:30
【问题描述】:
我正在使用隐式 String 构造函数来处理字节数组..但结果很奇怪。为了正确的输出,我是否需要做更多的事情..?任何帮助将不胜感激。这是我的代码..
byte[] arr = { 23, 34, 20, 65, 88, 95 };
String s1 = new String(arr);
System.out.println("First: "+s1);
String s2 = new String(arr, 1, 3);
System.out.println("Second: "+s2);
打印出来:
第一个:?"?AX_
第二个:?AX
【问题讨论】:
-
您的预期输出是什么? 23 和 20 不是可打印字符,34 是
",65 是A,88 是X,95 是_。 -
@rgettman:是的,你是对的,我刚刚尝试过从 65 开始,就像我的书籍示例所做的那样,打印效果很好..但这是怎么回事
-
Protip:养成明确指定编码的习惯..