国人在线做网站怎么样,大厂做网站,手机官方,荆州做网站的公司文章目录标准 ASCII扩展 ASCIIGB2312 编码GBK 编码GB18030 编码Unicode 编码UCS-2 字符集UCS-4 字符集UTF-8 编码先有字符集#xff0c;然后对每个字符进行编码#xff0c;这叫字符编码#xff0c;不同的编码规则就产生了不同的编码方案。
标准 ASCII
标准 ASCII 码也叫基…
文章目录标准 ASCII扩展 ASCIIGB2312 编码GBK 编码GB18030 编码Unicode 编码UCS-2 字符集UCS-4 字符集UTF-8 编码先有字符集然后对每个字符进行编码这叫字符编码不同的编码规则就产生了不同的编码方案。
标准 ASCII
标准 ASCII 码也叫基础 ASCII 码使用 7 位二进制数剩下的1位二进制为0来表示所有的大写和小写字母数字 0 到 9、标点符号以及在美式英语中使用的特殊控制字符。
ASCII 编码是直接将 ASCII 字符集的码位转换成二进制数进行存储。
7 位二进制0000 0000 ~ 0111 1111 这个范围的二进制数可以表示 128 个字符最高位没有使用 可见字符英文字母、数字、标点符号 不可见字符即控制字符例如回车符、换行符等
需要记住的字符 ASCII 编码 48~57 表示的是数字 65~90 表示的是大写英文字母 97~122 表示的是小写英文字母
扩展 ASCII
后 128 个称为扩展 ASCII 码用来表示128 个特殊符号字符、外来语字母和图形符号这叫 ASCII 扩展字符集。 1000 0000 ~ 1111 1111 这个范围的二进制数可以用来表示 128 个字符。 标准 ASCII 和扩展 ASCII 总共可以表示 256 个字符这些字符都用 1 个字节来表示。
GB2312 编码
GB2312 字符集采有分区管理的模式组成 94*94 的方阵每一行称为一个“区”每一列称为一个“位”区号位号的范围均为 01-94区号和位号组成的代码称为“区位码”共计有 8836 个码位。
把每个字符对应的码位转换成二进制数就是 GB2312 编码。
收集了 7445 个字符其中汉字 6763 个。
01~09 区收录了除汉字以外的图形字符共计 682 个字符 10~15 区为空白区没有使用 16~15 区收录了 3755 个一级汉字常用汉字按拼音排序 56~87 区收录了 3008 个二级汉字非常用汉字按部首/笔画排序 88~94 区为空白区没有使用
01~09 区表示非汉字的图形字符共计 682 个字符 左上角的编号叫“区号”如上图的 03 区中的字符“y”的位号是 89那么这个“y”的码位就是 0389。
16~55 区收录了 3755 个一级汉字按拼音排序 如上图所示汉字“饼”的区位码 1793。
56~87 区收录了 3008 个二级汉字按部首/笔画排序 二级汉字都是一些不常用的汉字。 如上图所示汉字“侃”的码位是 5709。
如何存储“侃”这个汉字
计算“侃”这个汉字字符的 GB2312 编码如下图所示
根据上图所示的计算结果0xD9A9 就是“侃”这个汉字的 GB2312 编码可为什么加上 A0 呢不知道。
以上可以知道 GB2312 编码是 2 个字节表示一个字符。
GBK 编码
在 GB2312 字符集的基础上扩充得到 GBK 字符集对应的编码叫 GBK 编码。
GB18030 编码
在 GBK 字符集的基础上扩充增加了很多少数民族的字符得到 GB18030 字符集对应的编码叫 GB18030 编码
Unicode 编码
Unicode 的学名是Universal Multiple-Octet Coded Character Set通用多八位编码字符集简称为 UCS。
UCS-2 字符集
Unicode 早期使用 UCS-2 字符集使用两个字节表示一个字符可以表示 65536 个字符。
UCS-4 字符集
因为不足以表示全世界的字符所以升级成了 UCS-4 字符集使用 4 个字节来表示一个字符使用 32 位的二进制数来表示字符可以表示将近 43 亿个字符。
UTF-8 编码
UTF-8Unicode Transformation Format是针对 Unicode 的一种可变长度字符编码它不是一种字符集。
UTF-8 将 UCS-4 字符集的码位划分成 4 个区间。
0x0000 0000 至 0x0000 007F0xxxxxxx 0x0000 0080 至 0x0000 07FF110xxxxx 10xxxxxx 0x0000 0800 至 0x0000 FFFF1110xxxx 10xxxxxx 10xxxxxx 0x0001 0000 至 0x0010 FFFF11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
汉字“王”在 UCS-4 的码位即 Unicode 编码是 0x0000738B转换成二进制码就是 00000000 00000000 01110011 10001011。
0x0000738B 属于 UTF-8 所划分的第三区间即三字节模板 1110xxxx 10xxxxxx 10xxxxxx00000000 00000000 01110011 10001011 从后面往前面逐个替代模板中的 x得到 11100111 10001110 10001011再把这个二进制编码转换成十六进制编码得到 0xe78e8b而这个就是汉字“王”的 UTF-8 编码了。