public class ParseTest {
// 字节转换到字符
public static char byte2char(byte b) {
return (char) (b & 0xff);
} public static void main(String[] args) {
byte[] array = { -109, 0, 0, 0 };
char[] code = new char[4];
for (int i = 0; i < code.length; i++) {
code[i] = ParseTest.byte2char(array[i]);
System.out.println(code[i]);
}
}
}代码如上,打印出来是四个小方块乱码
请问怎么解决?谢谢。
注:MyEclipse8.6里该文件的Text file encoding是UTF-8
把char打印出来是打印字符
如果你要打印的char不是可显示的字符 那你希望它不打印成方块乱码还能打印成什么
-109
147
?
0
0输出完成 (耗时 0 秒) - 正常终止
return (char) (b & 0xff);
}在上面的函数中,LZ出错了
你认为b & 0xff得到的结果会是什么? 其实b & 0xff得到的结果就是b自己而已,根本没有达到byte 2 char的效果; 如果是这样还不如直接强转
我在Eclipse下测试的