Java之String类型的编码方式转换

2023-02-28 11:02:22 编码 类型 转换

String类型的编码方式转换

在JAVA中,String类型的编码方式转换,String作为一个媒介,实质是字节数组byte[]的编码转换。

字符串编码后的字节数组必须通过同一编码方式才能够解码。

实操代码如下:

结果显示:

String字符集的编码和解码

String编码

byte[] getBytes()

使用平台的默认字符集将该String编码位一系列字节,将结果存储到新的字节数组中

byte[] getBytes(String charsetName)

使用指定的字符集将该String编码为一系列字节,将结果存储到新的字节数组当中

String解码

String(byte[] bytes)

通过使用平台的默认字符集解码指定的字节数组来构造新的String

String(byte[] bytes, String charsetName  )

通过指定的字符集解码指定的字节数组来构造新的String

 //编码:把文字转换成字节(使用指定的编码)
    public static void main(String[] args) throws Exception {
        String name="我们终会开始,以理想为船只,以笔为武器,以决心为理性,Good luck!";
        //byte[] bytes = name.getBytes();//默认字符集(utf-8);
        byte[] bytes = name.getBytes("GBK");
        System.out.println(bytes.length);
        System.out.println(Arrays.toString(bytes));
 
        //解码:把文字转换成对应的中文形式(编码前 和 编码后的字符集必须一致,否则乱码)
        byte[] bytes1 = name.getBytes();//默认字符集(utf-8);
        System.out.println(bytes.length);
        System.out.println(Arrays.toString(bytes1));
        String rs=new String(bytes1);
        System.out.println(rs);
 
        byte[] bytes2 = name.getBytes("GBK");//默认字符集(utf-8);
        System.out.println(bytes.length);
        System.out.println(Arrays.toString(bytes2));
        String rs1=new String(bytes2,"GBK");
        System.out.println(rs1);
    }

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

相关文章