byte[]数组和String的相互转化

String转为byte[]数组:s.getBytes()

String s="01234567890abcdef;
byte[] stringBytes=s.getBytes();
byte[] stringBytes=s.getBytes("utf-8");  // utf-8编码
byte[] stringBytes=s.getBytes("gbk");   gbk编码

byte[]数组转为String: new String(byte[] bytes)

String s="01234567890abcdef;
byte[] stringBytes=s.getBytes();
System.out.println(stringBytes.toString());  // 输出bytes数组的内存地址
System.out.println(new String(stringBytes).toString()); // 转化为String字符串,输出字符串的内容

String中一个字符所占的字节数:

  1. 对于英文字符,每个英文字符占一个字节byte(8 bits)
  2. 对于中文字符,如果是utf-8编码,则占三个字节byte(3 bytes:24bits),如果是gbk编码,则占两个字节byte(2bytes:16bits)

1个byte表示的数据范围为:-128~127最高位为符号位,0正1负,负数全部位取反加1得到数值,00000000-01111111-1000000-11111111:0----127----(-128)----(-1)

ASCII码范围:0~127(00000000-01111111)包括各种数字字母键盘符号等。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值