我们都知道计算机系统中的运算都是通过二进制进行实现的,而现实世界中的字符想要输入到计算机中,都需要转换成二进制的代码。那么字符与二进制代码如何进行匹配,这两者之间就存在着一种编码关系。世界上存在着很多的编码方式,同一个二进制数字在不同的编码方式下可以被解释成不同的符号。
ASCII,Uniconde都是一种编码方式,Utf8则是Unicode的一种实现方式。
1、ASCII码
ASCII码,全程是(American Standard Code for Information Interchange)(“美国信息交换标准代码”),是老美指定的编码方式,其中包括了英语大小写字母,标点符号,控制字符等等。一共定义的ASCII码字符一共有128个。
这128个字符的编码一共有128个,只占用了一个字节的后面7位,最前面的一位统一规定为0。
2、Unicode
Unicode,也叫统一码,万国码。听这名字就感觉很牛B,如果把各种文字编码形容为各地的方言,那么Unicode就是世界各国合作开发的一种语言,因此这是一个很大的集合,现在的规模可以容纳100多万个符号,每一个符号的编码都不同。所以unicode的字符很多都需要2个、3个、甚至4个字符。因此,unicode的编码后的二进制代码的存储方式也变成了一个问题,知道互联网的出现,unicode才被推广开来。
3、UTF-8
UTF-8是互联网上使用最广的一种Unicode的一种实现方式,再次声明,UTF-8只是Unicode的一种实现方式。Utf-8对于Unicode的编码方式进行了优化,具体如下:
①单字节的符号,字节的第一位设为0,后面7位为这个符号的unicode码。因此对于单字节的编码字符,UTF-8编码和ASCII码相同。
②n字节的符号(n>1),第一个字节的前n位都设为1,第n+1位设为0,其余字节的前两位一律为10。剩下的没有提及的二进制位,全部为这个符号的unicode码
详细的实现方式可以查看此链接:UTF8转码规则
欢迎关注我的微信公众号 搜索享受代码,或搜索微信公众号xsdm1996
分享更多计算机技术、大厂招聘面经与心得~