String.getBytes("gb2312");把unicode字符串编码成gb2312的字节流。
1。java .class类的编码为:unicode;
2。windows 默认的编码为:中文:gb2312; 英文:iso8859;
3。什么叫做解码:
s = new String(bytes[],"iso8859_1");
将键盘字节输入流中的每个字节读取到一个字节数组中,然后将字节数组中的数据当作某种本地字符集码转换成Unicode码的字符串,这个过程叫解码。
4。什么叫做编码:
String.getBytes("gb2312");将java 类内的unicode 字符串的数字,转换成gb2312的编码的数字,并存放到字节数组中。
将unicode码的字符串中的每个字符数字,转换成该字符在指定的字符集下的数字,叫做编码。
5、
String s1 = "李辉";//s1------〉unicode编码,所有的程序中的字符串均为"unicode";
s = new String(s1.getBytes("gb2312"),"iso8859_1");//s1 系统默认的gb2312编码,然后用
// java.getBytes("gb2312")进行解码,
str = new String(s.getBytes("iso8859_1"),"gb2312");
System.out.println("=========="+str);
先将字节数组编码成字符串,以后还可以将这个字符串右反响编码成最初的字符数组。但先编码成字节数组,却比一定能够解码成最初的字符串。因为unicode按iso8859_1
编码后会存在字节丢失。
System.out.println("=========="+new String(s1.getBytes("iso8859_1"),"gb2312"));