编码的由来:
计算机只能识别二进制数据,早期由来是电信号,为了方便应用计算机,让它可以识别各个国家的文字。
就将各个国家的文字用数据来表示,并一一对应,形成一张表,这就是编码表。
ASCII: 美国标准信息码:
用一个字节的7位表示。
ISO8859—1:拉丁码表。欧洲码表
用一个字节的8位表示
GB2312:中国的中文编码表。
GBK:中国的中文编码表升级,融合了更多的中文文字符号
Unicode:国际标准码,融合了多种文字,所有的文字都用两字节表示,java语言使用的就是Unicode
UTF-8:最多用三个字节表示一个字符。
编码:字符串变成字节数组:String -->byte[] str.getBytes(charSetName)
解码:字节数组变成字符: byte[]-->String new String(byte[charSetName]); |