字符串转字节数组
String的一个方法getbytes(),可以把字符串转成 一个字节数组
即把 组成字符串中的 字符 对应的字节存入到字节数组中
其中
编码 utf-8 是 英文占 1个字节,中文 占 3个字节
编码 gbk 是 英文和中文都占2个字节
用代码测试一下吧
这里用空格把每个字符隔开,结果更清晰
public class test {
public static void main(String[] args) {
String s1 = "1 2 3 4 5 6 7";
String s2 = "今 天 天 气 真 好 !";
byte[] bytes1 = s1.getBytes();
byte[] bytes2 = s2.getBytes();
for(byte b:bytes1){
System.out.print(b+"\t");
}
System.out.println();
for(byte b:bytes2){
System.out.print(b+"\t");
}
}
}
结果如图(测试用的utf-8编码)
32 代表空格, 可以清晰的看见,字符串在字节数组中的存储情况
中文被转成了连续3个字节,英文是1个字节