如果想要把数组中的内容打印出来,直接使用toString方法只会打印出数组的地址,因此需要使用Arrays的toString方法
String ss = "我爱你林青霞"; | |
byte[] bys = ss.getBytes(); | |
System.out.println(Arrays.toString(bys)); // [-50, -46, -80, -82, -60, -29, -63, -42, -57, -32, -49, -68] |
System.out.println(bys.toString());
//[B@15db9742
编码与解码:
new String(str.getBytes(“gbk”),“gbk”)等效于
byte[] bytes=str.getBytes(“gbk”)
告诉java虚拟机将中文以“gbk”的方式转换为字节数组。一个汉字对应两个字节。//不告诉呢??与上述byte[] bys = ss.getBytes();的区别???
String s=new String(bytes,“gbk”)
告诉虚拟机将字节数组中的字节以“gbk”的方式将每2个字节组装成一个汉字