一,编解码:
首先搞懂一个概念,什么是编解码。计算机这个东西只认识0或1,而人能识别的是一些特殊的字符,比如中国的象形文字或者欧美的表音文字,那让人和计算机之间能够相互沟通的这个过程就叫作编解码。把人能看到的存储到计算机里叫做编码,把计算机存储的转换成人能看到的叫做解码。
二,历史
ASCII:
因为计算机是美国人发明的,因此第一套编码规则就是ASCII码,可以将英文字母和一些特殊字符如@#¥等转换成对应的0和1存储到计算机中,比如你在屏幕上看到的大写字母 U按照ASCII
编码存储在计算中就是 01010101。也就是说ASCII就是一套规则,规定了英文字符和01的一个对应关系,类似抗战时期的电报,总会有一个密码本来负责翻译报文。
GB2312:
时光荏苒,岁月如梭,中国人也接触到了计算机,并且发现这玩意不错,因为ascii只能处理英文,所以中国也发明了自己的一套编码规则,用来处理中文,那就是GB2312,并且GB2312同时还兼容ascii。类似的其它国家也有自己的编码规则。
Unicode:
就这样各国都有了自己的编码规则,但是这样问题又来,国与国之间的交流又成了问题。一封由汉字写的email发到美国可能变成了乱码,于是乎国际标准化组织(ISO)和多语言软件制造商这两个组织合作搞出了 unicode编码,用来对所有语言进行编码,解决了国与国之间的沟通问题。
utf-8:
各国自己的编码规则也有了,国与国之间相互交流的编码规则也有了,那这个utf-8又是干什么的呢?它其实是对unicode的一种优化,优化了unicode的储存,节省了空间。后续的utf-8 带bom,utf-16 等都可以理解为在前人基础的优化,也就说先解决了能用的问题后解决了易用的问题。
三,总结
这些编码解决了人和计算机之间交流,解决了各国与各国不同文字在计算机之间的交流,并且随着时间发展慢慢的由无到有,由有到优。