码迷,mamicode.com
首页 > 其他好文 > 详细

字符编解码

时间:2019-08-09 23:29:28      阅读:100      评论:0      收藏:0      [点我收藏+]

标签: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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!