常见编码方式(码表)
ASCII:美国标准信息交换码
用一个字节的7位可以表示(只有英文、阿拉伯数字以及一些特殊符号)
ISO8859-1(Latin-1):欧洲码表or拉丁码表
用一个字节的8位表示。又称Latin-1(拉丁编码)或“西欧语言”。ASCII码包含的仅仅是英文字母,并且没有完全占满256个编码位置,所以它以ASCII为基础,在空置的0xA0-0xFF的范围内,加入192个字母及符号,借以供使用变音符号的拉丁字母语言使用。从而支持德文、法文等。因而它依然是一个单字节编码,只是比ASCII更全面。
GB2312:中国的中文编码表
(操作系统是中文的,用记事本的时候默认编码方式是gb2312)
GBK:中国的中文编码表升级,融合了更多的中文文字符号。
Unicode:国际标准码,融合了多种文字。
所有文字都用两个字节来表示,Java语言使用的就是Unicode。
UTF-8:最多用三个字节来表示一个字符。
(日后接触最多的就是ISO8859-1、GBK、UTF-8)
ISO8859-1:一个字节
GBK:两个字节,包含了英文字符和扩展的中文
UTF-8:万国码,推行使用的。是1~3个字节不等长。英文存的是1个字节,中文存的是3个字节,是为了节省空间。
如何避免出现乱码?
只要保证编码跟解码时用的同一张码表
计算机是以什么形式保存数据的?
二进制
保存文件的时候 字符=>二进制 编码
浏览器渲染网页 二进制=>字符 解码
sublime默认编码方式就是UTF-8