字符编码
编码
按历史
ASCII
最早的编码表,1个字节,后7位表示编码。将字符编成一张码表。比如0x0D表示回车
多字节编码
因为ASCII只能表示127个字符,当涉及到多种语言时,就不够了。所以出现了多字节编码的字符集。比如GB2312字符集和GBK字符集(都是中文编码,但是GBK加入了繁体扩展)
标准的诞生
多字节编码因为有多种实现,所以出现了多种标准字符集。比如ANSI标准(包括了GBK等),中国国家标准(GBK,GB2312等等)。
Unicode
unicode是要统一所有的字符,所以他是一个涵盖了所有字符的字符集,并为每个字符进行统一编号(字符码)。
- unicode和以前其他编码不同点在于:以前是字符集和编码方式绑定在一起了,而unicode只是一个字符集,具体编码方式又有几种
UTF-16
最少两个字节,采用变长编码。所以对于ASCII字符来说扩展了2倍。JAVA等语言用UTF-16作为字符编码
UTF-8
对于ASCII使用单字节编码,对于其他字符,用2-4个字节表示。
所以unicode仅仅是个字符集,而不是编码方式