编码表:其实就是生活中字符和计算机二进制的对应关系表。
ASCII: 用一个字节中的7位表示一个字符。对应的字节都是正数。0-xxxxxxx
ISO-8859-1:拉丁码表 latin,用一个字节的8位表示一个字符。对应的字节都是负数。1-xxxxxxx
-
GB2312:简体中文码表。包含6000-7000中文和符号。用两个字节表示。
1.GBK:目前最常用的中文码表,2万左右个的中文和符号,用两个字节表示。
2.GB18030:最新的中文码表,目前还没有正式使用。 -
UNICODE:国际标准码表,无论是什么文字,都用两个字节存储。
- Java中的char类型用的就是这个码表。char c = 'a';占两个字节。
- Java中的字符串是按照系统默认码表来解析的。简体中文版字符串默认的码表是GBK。
UTF-8:基于UNICODE,占三个字节,支持中文。
Java中的编码转换方法
-
字符转字节 :
byte[] bytes = "abc".getBytes();
-
字节转字符 :
byte []bytes = {97,98,99}; String str = new String(bytes);