AscII码&编码
什么是AscII码?
将常用的英文字符及符号映射到8位二进制。所得到的二进制编码就是每一个字符的AscII码。也就是说将这套字符映射到0X00~0X7F(128个)的过程叫做AscII编码。
这种二进制码是计算机可以识别出来的形式,而将这些二进制码从磁盘中读取出来重新转化成字母数字的形式称之为解码。
ASCII的最大缺点:只能显示26个基本拉丁字母、阿拉伯数目字和英式标点符号,因此只能用于显示现代美国英语
字符集与字符编码
字符集:是一个系统支持的所有抽象字符的集合,字符是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。
字符编码:是一套法则,使用该法则能够对自然语言的字符的一个集合(如字母表或音节表),与其他东西的一个集合(如号码或电脉冲)进行配对。
通常人们用符号集合(一般情况下就是文字)来表达信息。而以计算机为基础的信息处理系统则是利用元件(硬件)不同状态的组合来存储和处理信息的。元件不同状态的组合能代表数字系统的数字,因此字符编码就是将符号转换为计算机可以接受的数字系统的数,称为数字代码。
起初的AscII码只是用来表示英文及相关符号,随着计算机在各个国家普及,更多的语言文字需要计算机存储,ISO国际化标准组织提出了Unicode新标准。
Unicode码&UTF编码
什么是Unicode码?
Unicode编码则是采用双字节16位来进行编号,可编65536字符,基本上包含了世界上所有的语言字符,它也就成为了全世界一种通用的编码。
例如0组包含0X0000~0XFFFF,每一个码位就唯一对应一个字符,大部分字符都位于字符集平面0的码位中,少量位于其他平面。
Unicode编码表:https://www.cnblogs.com/csguo/p/7401874.html
UTF-8与UTF-16编码方案
UTF-16将0–65535范围内的字符编码成2个字节
UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码(定长码),也是一种前缀码。
针对AscII码直接使用8位1个字节的表示,例如英文字母及一些简单符号,而高于8位的字符表示就使用16位二进制表示方法或者更高位。UTF-8可以使用1~4个字节表示字符。
Unicode符号范围 | UTF-8编码方式
(十六进制) | (二进制)
—————————————————————–
0000 0000-0000 007F | 0xxxxxxx
0000 0080-0000 07FF | 110xxxxx 10xxxxxx
0000 0800-0000 FFFF | 1110xxxx 10xxxxxx 10xxxxxx
0001 0000-0010 FFFF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx