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个字符,这说明转换过程中可以将占用两个字节的字符转换成功。

猜你喜欢

转载自www.cnblogs.com/deltadeblog/p/9252772.html