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);
}
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。