小点集

作者: 言霏 | 来源:发表于2020-04-21 12:25 被阅读0次

ASCII码

在一开始计算机中,1 字节对应 8 位二进制数,而每位二进制数有 0、1 两种状态,因此 1 字节可以组合出 256 种状态。如果这 256 中状态每一个都对应一个符号,就能通过 1 字节的数据表示 256 个字符。美国人于是就制定了一套编码(其实就是个字典),描述英语中的字符和这 8 位二进制数的对应关系,这被称为 ASCII 码。

ASCII 码一共定义了 128 个字符,例如大写的字母 A 是 65(这是十进制数,对应二进制是0100 0001)。这 128 个字符只使用了 8 位二进制数中的后面 7 位,最前面的一位统一规定为 0。

Unicode

显然128位的ASCII并不能表示世界上所有语言的字符,人们意识到应该提出一种标准方案来展示所有的字符,出于这个目的,Unicode诞生了。Unicode的前128位表示的字符和ASCII相同,这就向前兼容了旧的ASCII编码的文件。

Unicode 当然是一本很厚的字典,记录着世界上所有字符对应的一个数字,但是它仅仅只是一个字符集,规定了包含哪些字符以及对应的二进制代码,至于这个二进制代码如何存储则没有任何规定,所以就有了比较流行了的几种Unicode编码实现格式。

Unicode编码实现

UTF:Unicode Transformation Format,即Unicode字符集转换格式。Unicode有3种实现方式即:UTF-8UTF-16UTF-32

  1. UTF-8:
    以8比特位为一个单位,一个字符的表示最少一个单位即一个字节,最大4个单位即4个字节。
  2. UTF-16:
    以16比特位为一个单位,一个字符的表示要么用一个单位即2个字节,要么用2个单位即4个字节。
  3. UTF-32
    以32个比特位为一个单位,即4个字节。所有的unicode编码都可以直接表示了,而且码位远远用不完。实现很简单,但是由于大部分字符用两个字节足够,4个字节太浪费空间了,所以很少用。

UTF-8为例:

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

对于需要使用 N 个字节来表示的字符(N > 1),第一个字节的前 N 位都设为 1,第 N + 1 位设为0,剩余的 N - 1 个字节的前两位都设位 10,剩下的二进制位则使用这个字符的 Unicode 码点来填充。

比如“”字,其Unicode编码为0x6c49(110 1100 0100 1001),通过上面的对照表可以发现,0x0000 6c49 位于第三行的范围,那么得出其格式为 1110xxxx 10xxxxxx 10xxxxxx。接着,从“汉”的二进制数最后一位开始,从后向前依次填充对应格式中的 x,多出的 x 用 0 补上(001001填充到10xxxxxx)。这样,就得到了“汉”的UTF-8 编码为 11100110 10110001 10001001,转换成十六进制就是 0xE6 0xB1 0x89

解码的过程也十分简单:如果一个字节的第一位是 0 ,则说明这个字节对应一个字符;如果一个字节的第一位1,那么连续有多少个 1,就表示该字符占用多少个字节。

URL编码

URL 只能使用 ASCII 字符集(128个字符)来通过因特网进行发送。也就是说URL只能使用英文字母、阿拉伯数字和某些标点符号,不能使用其他文字和符号,这意味着如果URL存在汉字,就必须编码后使用。
规则:
其实就是取特殊字符的十六进制UTF-8编码字符,然后在其前面放置转义字符("%")。比如“”字,其UTF-8 编码为 11100110 10110001 10001001,十六进制就是 0xE6 0xB1 0x89,URL编码就为:%e6 %b1 %89

相关文章

  • 小点集

    ASCII码 在一开始计算机中,1 字节对应 8 位二进制数,而每位二进制数有 0、1 两种状态,因此 1 字节可...

  • 二分图相关定理

    最小点覆盖概念:用一个点集(点集的数量尽可能小),让每条边都至少和其中一个点关联(边的两端有一端在点集里就算有关联...

  • 小点

    今天是大姨妈来的第二天。我觉得我的状态并不好。因为早上起来嗓子就开始疼。而且鼻子也开始出现了问题。就是一个感冒的状...

  • 小点

    小点,是我刚认识不久的姑娘。 今天,看到她发的微诗时,突然就想写一写她。 2018年末时,有一天发现一个陌生的头像...

  • 是大腿--STARTOR非官方APP

    起小点视频集应用内的所有数据均来自B站,如果本项目侵犯了B站和STARTOR 团队的视频版权,请及时告知,本人及时...

  • 17点读剧 | 《鹤唳华亭》才第一集,居然看哭我了......

    文/杜豆豆 中午得空,看了最近挺火的《鹤唳华亭》第一集,居然看哭了......索性写个微头条,小小点评一下。 首先...

  • 第十四章 全局搜索算法

    14.1 引言 全局搜索算法可在整个可行集上开展搜索,以找到极小点。这些方法只计算目标函数值,而不需要求导。一般可...

  • 小点滴

    独坐窗前,时光清浅,本想倚窗赏花,奈何,略带斑驳的对面楼的墙皮,远处的在光影中泛着淡蓝色的楼顶,阻碍了,那似有似无...

  • “小点滴”

    这两天听了真经派的几节课,感觉只有听力和作文比较有感触,体力你一定要提前看选项,不求能全部翻译,多留意动词名词形容...

  • vue小点

    1.获取dom元素 通过设置ref: 获取到元素并改变样式: this.$refs.budget.style.tr...

网友评论

      本文标题:小点集

      本文链接:https://www.haomeiwen.com/subject/xpbyihtx.html