java-字符集,编码解码
常见字符集
- 标准ASCII字符集
美国信息交换标准代码,包括英文,符号
使用1个字节存储字符,首位是0,共可表示128个字符 - GBK(汉字内码扩展规范,国际)
汉字编码字符集,包含2万多个汉字字符
GBK中一个中文字符编码成两个字节形式存储
GBK兼容了ASCII字符集
GBK规定:汉字第一个字节的第一位必须是1 - Unicode字符集(统一码,万国码)
UTF-8字符集
Unicode字符集的一种编码方案,采取可变长编码方案,共分四个长度区:1字节、2字节、3字节、4字节
- 英文字符、数字占1字节,汉字占3字节
注意
1、字符编码时使用的字符集,和解码时使用的字符集必须一致,否则会出现乱码
2、英文、数字一般不会乱码,很多字符集都兼容了ASCII编码
使用程序对字符进行编码解码操作
对字符编码
对字符解码
public class CharSetDemo1 {public static void main(String[] args) throws Exception {//写程序实现字符编码和解码//1、编码String s = "技术宅拯救世界";//byte[] bytes = s.getBytes();//默认使用UTF-8编码byte[] bytes = s.getBytes("GBK");//指定GBK进行编码System.out.println( bytes.length);System.out.println(Arrays.toString( bytes));//2、解码//String s2 = new String(bytes);//默认使用UTF-8解码String s2 = new String(bytes, "GBK");//指定GBK进行解码System.out.println(s2);}
}