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);
}