/**
* 编码:
* byte[] getBytes():使用平台的默认 utf-8 编码表 编码
* byte[] getBytes(String charsetName) 设置编码 utf-8、gbk
*
* 解码:
* String(byte[] bytes):通过使用平台的默认编码表(utf-8) 解码
* String(byte[] bytes,String charsetName) 设置解码 编码表
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
String str="中国";
// 默认utf-8 编码 一个汉字占3个字节
//编码
byte[] bytes = str.getBytes(); //默认为 str.getBytes("utf-8")
//字节码
String zjm = Arrays.toString(bytes); //[-28, -72, -83, -27, -101, -67]
//解码
String bstr = new String(bytes);
System.out.println(zjm);
System.out.println(bstr);
// gbk编码 一个汉字占2个字节
//编码
byte[] bys = str.getBytes("gbk");
//字节码
String zjm2 = Arrays.toString(bys); //[-42, -48, -71, -6]
//解码
String bstr2 = new String(bys,"gbk");
System.out.println(zjm2);
System.out.println(bstr2);
}
|