【计算机】(UTF-8)字符集进化史

对字符集的理解一直就是不管三七二十一,选择UTF-8就对了,今天在一个Mysql教学视频里了解到了字符集,感觉如醍醐灌顶,受益匪浅

一:由来

各大计算机运营商、各国、标准化组织等对自己感兴趣的文字进行编码,以便计算机程序能够识别

【计算机】(UTF-8)字符集进化史

二:ASCII码

第一个字符集,美国标准化组织发布的,主要是为了解决美国的文字符号及其编码

【计算机】(UTF-8)字符集进化史

三:Unicode编码

为了解决各大运营商、各国字符集不一致,对软件的开发移植造成的影响,ISO发布

【计算机】(UTF-8)字符集进化史

四:UTF-16编码

Unicode编码占用4个字节,不被一些公司接受,一些公司联合发布Unicode1.0,占用2个字节,ISO与Unicode1.0协商统一发布BMP编码,考虑到新的字符(不在BMP中)时怎么办?提出UTF-16编码

【计算机】(UTF-8)字符集进化史

五:UTF-8编码

当时的计算机世界最流行的还是ASCII编码(单字节),UTF-16依赖于Unicode环境,故为了兼容,提出UTF-8编码解决方案:将ASCII码转成单字节编码,2、3、4字节用以转换Unicode编码。UTF-8兼容所有,是最终解决方案

【计算机】(UTF-8)字符集进化史

总结:一部字符集的血泪史,兼容、兼容、兼容...,没有最完美的解决方案,只有当时最合适、最优的解决办法

参考:https://ke.qq.com/webcourse/index.html#cid=311666&term_id=100369504&taid=2319595872764274&type=1024&vid=w1426ktjcv6