一个字节(byte)由8位(bits)二进制组成。计算机中的文件数据类型(图片,视频,文本等等)存储的都是二进制数据,通常查看属性可以看见大小为多少字节。而当我们打开一个文件,例如文本文件时,我们可以看见对应的文字,也是由于该应用将字节进行了解码处理。一个字符集(charset)(编码表)至少对应一个字符编码,而我们熟知的ASCII字符集也是最基础的字符集,对应的编码为ASCII编码,它能被后面出现的编码所兼容。常见的字符集由ASCII字符集,GBXXX字符集,Unicode字符集。
编码:字符(能看懂的)->字节(不能看懂的)
解码:字节->字符
常见字符集及对应的字符编码:
ASCII字符集:
- ASCII编码:基本的ASCII码由7位(bits)表示一个字符,共128个字符(0:48;A:65;a:97)。ASCII的扩展字符集使用8位(bits)表示一个字符,共256个字符。
ISO-8859-1字符集(Latin-1):
- ISO-8859-1编码,兼容ASCII编码
GBXXX字符集(为了显示中文而设计的一套字符集):
- GB2321编码:简体中文码表
- GBK编码:兼容GB2321,支持简体中文,繁体汉字,日韩汉字
- GB18030编码:在前面的基础上还支持少数民族文字
Unicode字符集(万国码,统一码):
- UTF-8编码:所以互联网协议都必须支持UTF-8编码。128个US-ASCII字符只需一个字节编码;拉丁文等字符需要2个字节编码;大部分常用字(含中文)使用3个字节编码;其他极少使用的Unicode辅助字符使用4个字节编码
- UTF-16编码:略
- UTF-32编码:略