java byte数组与String的相互转换

时间:2023-02-12 20:18:08

String  ->   byte数组

        String str = "abc天";
byte[] btr = str.getBytes();
System.out.println(str.length()); //
System.out.println(btr.length); //

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); //
System.out.println(s.length()); //

使用String的构造方法将byte数组(byte[])转为String字符串。

btr的大小为5个字节,s为4个字符,这说明转换过程中可以将占用两个字节的字符转换成功。