JavaSE: 字符编码
1. 编码表的由来
计算机只能识别二进制数据,早期就是电信号。
为了方便计算机可以识别各个国家的文字,就需要将各个国家的文字采用数字编号的方式进行描述,并建立对应的关系表,该表就叫做编码表。
2. 常见的编码表
ASCII: 美国标准信息交换码,使用一个字节的低7位二进制进行表示
ISO8859-1: 拉丁码表,欧洲码表,使用一个字节的 8 位二进制进行表示
GB2312: 中国的中文编码表,最多使用两个字节16位二进制进行表示
GBK: 中国的中文编码表升级,融合了更多的中文文字符号,最多使用两个字节16位二进制位表示
Unicode: 国际标准码,融合了目前人类使用的所有字符,为每个字符分配唯一的字符码。
所有的文字都用两个字节16位二进制位来表示
3. 编码的发展
<1>面向传输的众多 UTF (UCS Transfer Format)标准出现了, UTF-8就是每次 8 个位传输数据,而 UTF-16 就是每次 16个位。
这是为传输而设计的编码并使编码无国界,这样就可以显示全世界上所有文化的字符了。
<2>Unicode只是定义了一个庞大的、全球通用的字符集,并为每个字符规定了唯一确定的编号,具体储存成什么样的字节流,
取决于字符编码方案。 推荐的Unicode编码是UTF-8 和 UTF-16。
<3>UTF-8:变长的编码方式,可用 1 - 4 个字节来表示一个字符