java byte数组与String的相互转换
String -> byte数组
String str = "abc天"; byte[] btr = str.getBytes(); System.out.println(str.length()); // 4 System.out.println(btr.length); // 5
str的长度为4,表明含有4个字符。btr的大小为5,表明包含5个字节。
这是由于字符a、b、c只占用一个字节,而字符 '天' 占用两个字节,故btr的大小为5个字节。
byte[] -> String
String s = new String(btr); System.out.println(s); // abc天 System.out.println(btr.length); // 5 System.out.println(s.length()); // 4
使用String的构造方法将byte数组(byte[])转为String字符串。
btr的大小为5个字节,s为4个字符,这说明转换过程中可以将占用两个字节的字符转换成功。