String 与 byte[]之间的转换

2022/2/19 23:16:45

本文主要是介绍String 与 byte[]之间的转换,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

String 与 byte[]之间的转换

public class StringTest1 {
​
    /*
    String 与 byte[]之间的转换
    编码 String --> byte[]:调用String的getBytes()
    解码 byte[] --> String:调用String的构造方法
​
    说明:解码时,要求解码使用的字符集必须与编码使用的字符集一致,否则会出现乱码
     */
    @Test
    public void test() throws UnsupportedEncodingException{
        String s1 = "abc123中国";
        byte[] bytes = s1.getBytes();//使用默认的字符集进行转换
        System.out.println(Arrays.toString(bytes));
​
        byte[] gbks = s1.getBytes("gbk");//使用gbk字符集进行编码
​
        System.out.println(Arrays.toString(gbks));
​
        String s2 = new String(bytes);//使用默认的字符集进行解码
        System.out.println(s2);
​
        String s3 = new String(gbks);
        System.out.println(s3);//出现乱码,原因:编码集和解码集不一致
​
        String s4 = new String(gbks, "gbk");
        System.out.println(s4);//没有出现乱码,原因:编码集和解码集一致
    }
}


这篇关于String 与 byte[]之间的转换的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程