ASCⅡ字符集
可见字符:英文字母、数字、标点符号(0-31、127,共33个)
控制字符:回车、换行等(32-126,共95个)
最初的编码:
码位 | 解释 | 二进制信息(ASCII码) |
---|---|---|
0 | 空字符 | 0000 0000 |
1 | 标题开始 | 0000 0001 |
2 | 正文开始 | 0000 0010 |
… | … | … |
10 | 换行 | 0000 1010 |
… | … | … |
13 | 回车 | 0000 1101 |
31 | 单元分隔符 | 0001 1111 |
32 | 空格 | 0010 0000 |
33 | ! | 0010 0001 |
… | … | … |
48 | 0 | 0011 0000 |
… | … | … |
65 | A | 0100 0001 |
… | … | … |
90 | Z | 0101 1010 |
… | … | … |
99 | a | 0110 0001 |
… | … | … |
122 | z | 0111 1010 |
… | … | … |
127 | 删除 | 0111 1111 |
所以ASCII码只能表示0000 0000- 0111 1111共128个字符
扩展ASCII字符集及扩展ASCII码
欧洲人扩展了ASCII字符集,1000 0000-1111 1111,扩展了128个
GB2312
当电脑来到中国,256个字符依然不够用,因此用16位表示一个字符
先设计字符集,才能对字符集编码
使用分区管理,共计94个区,每个区含94个位,共8836个码位
01-09区收录除汉字外的682个字符
10-15区为空白区,没有使用
16-55区收录3755个一级汉字,按拼音排序
56-89区收录3008个二级汉字,按部首/笔画排序
88-94区为空白区,没有使用
比如:侃字码位5709
经过运算侃字的GB2312码为0xD90xA9
GB2312高位和低位都大于127
GBK
GB2312仍然遗漏了很多汉字,因此不再规定低位大于127,高位大于127,变为GBK编码,新增近20000个汉字和符号
GB18030
新增几千少数民族字符
Unicode
把世界所有字符都放在一起,并编号
最初采用UCS-2字符集,可表示2^16个字符
UCS-4字符集,可表示2^32个字符,需要存储空间较大,很长时间没有被各国接受
UTF-8
每次传输8位数据,并且是一种可变长的编码格式。
具体将UCS-4字符集码位划分为4个区间
UCS-4区间 | UTF-8码位 |
---|---|
0x0000 0000-0x0000 007F | 0xxxxxxx |
0x0000 0080-0x0000 07FF | 110xxxxx 10xxxxxx |
0x0000 0800-0x0000 FFFF | 1110xxxx 10xxxxxx 10xxxxxx |
0x0001 0000-0x0010 FFFF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx |