java学习笔记14

时间:2023-02-24 12:43:37

今天学习编码,大概我们所用的编码,比较常用的就三中gbk ,utf-8,gb2312,但是gb2312跟gbk差不多只不过gbk比gb2312中文字符更加的多,

首先学习编码

编码就是将字符变成字节数组

getBytes()  getBytes(charsetName);

public static void EncodeDemo() throws IOException{//编码要抛出异常

String s="你好";

//编码

byte[] b=s.getBytes();

System.out.println(Arrays.toString(b));

//解码

String str=new String(b);

System.out.println(str);

  //系统默认的编码是gbk 但是如果用ios8859-1解码的话,会出现乱码

String s1="你好";

byte[] b1=s1.getBytes("gbk");

System.out.println(Arrays.toString(b1));


//解码用iso8859-1

String str=new String(b1,"iso8859-1");

System.out.println(str);//输出为????

       //解决办法:我们先将乱码编码

byte[] b2=str.getBytes("iso8859-1";);

//然后解码后再用gbk解码

String s3=new String(b2,"gbk");

   //但是如果将上面的iso8859-1改成utf-8的话,用同样的方法,依然是乱码,因为gbk,utf-8都是中文的编码

}