编码与解码

本文介绍如何在Java中正确打印字节数组内容,避免仅显示内存地址。通过实例演示了使用Arrays.toString方法展示字节数组的具体数值,并详细解释了字符串在不同编码下(如GBK)的字节转换过程。文章还对比了直接调用toString与使用Arrays.toString方法的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果想要把数组中的内容打印出来,直接使用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个字节组装成一个汉字

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值