import java.io.UnsupportedEncodingException;
import java.util.Arrays;
/*
编码与解码
编码: 把看得懂的字符变成看不懂码值这个过程我们称作为编码。
解码: 把码值查找对应的字符,我们把这个过程称作为解码。
注意: 以后编码与解码一般我们都使用统一的码表。否则非常容易出乱码。
*/
public class Demo7 {
public static void main(String[] args) throws Exception {
/*
String str = "中国";
byte[] buf = str.getBytes("utf-8");// 平台默认的编码表是gbk编码表。 编码
System.out.println("数组的元素:"+Arrays.toString(buf)); //
str = new String(buf,"utf-8"); //默认使用了gbk码表去解码。
System.out.println("解码后的字符串:"+ str);
*/
/*String str = "a中国"; // ,0, 97, 78, 45, 86, -3
byte[] buf = str.getBytes("unicode"); //编码与解码的时候指定 的码表是unicode实际上就是用了utf-16.
System.out.println("数组的内容:"+ Arrays.toString(buf));
*/
String str = "大家好";
byte[] buf = str.getBytes(); //使用gbk进行编码
System.out.println("字节数组:"+ Arrays.toString(buf)); // -76, -13, -68, -46, -70, -61
str = new String(buf,"iso8859-1");
// 出现乱码之后都可以被还原吗?
byte[] buf2 = str.getBytes("iso8859-1");
str = new String(buf2,"gbk");
System.out.println(str);
}
}