标签:transform for color har 文件存储 ascii 不一致 子集 ack
所有的文件存储-------->字节
字节(byte) --(编码)-- > 字符 (char)
字节(byte) < --(解码)-- 字符 (char)
字节:跟机器打交道。
字符:跟人打交道。
乱码的本质原因:编码、解码不一致。
ASCII (American Standard Code For Information Interchange,
美国信息交换标准代码)。
用7bit来表示一个字符,2的7次方 = 128个字符。
ISO-8859-1(西欧的编码标准,ASCII是它的子集)
用8bit(一个字节)来表示一个字符,2的8次方 = 256个字符。
中文:gb2312 < gbk < gb18030
用16bit(两个字节)来表示一个汉字。2的16次方 = 65536个字符。
unicode 万国码,包含全世界的字符。
用16bit(两个字节)表示一个字符,原有的英文编码从单字节变成双字节,只需要把高字节全部填为0就可以。
优点是:可以表示所有的字符。
缺点是:存储变大。(原本a字符仅需要1个字节的存储空间,现在变为两个字节才能存储)
UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,UTF-8用1到4个字节编码Unicode字符。
特点:变长的字节表示。
一般来说,用3个字节表示一个中文。英文用1个字节来表示。
标签:transform for color har 文件存储 ascii 不一致 子集 ack
原文地址:https://www.cnblogs.com/chen--biao/p/11329763.html