对于ASCII码、Unicode、URLcode、UTF-8编码的解析。

ASCII码

在计算机种中,1 字节对应 8 位二进制数,而每位二进制数有 0、1 两种状态,因此 1 字节可以组合出 256 种状态。用这256种8位0和1的组合方式来表示英语中所包含的字符是足够的。状态这 256 中状态每一个都对应一个符号,就能通过 1 字节的数据表示 256 个字符。描述英语中的字符和这 8 位二进制数的对应关系,这被称为 ASCII 码。ASCII 码一共定义了 128 个字符,这 128 个字符只使用了 8 位二进制数中的后面 7 位,最前面的一位统一规定为 0。

下面是ASCII编码表:

对于ASCII码、Unicode、URLcode、UTF-8编码的解析。_第1张图片

对于ASCII码、Unicode、URLcode、UTF-8编码的解析。_第2张图片

对于ASCII码、Unicode、URLcode、UTF-8编码的解析。_第3张图片

对于ASCII码、Unicode、URLcode、UTF-8编码的解析。_第4张图片

对于ASCII码、Unicode、URLcode、UTF-8编码的解析。_第5张图片

Unicode

随着计算机的发展,各个国家都发展计算机行业,用ASCII码来表示各个国家的语言是远远不够的。于是,美国最终提出一种标准方案来展示世界上所有语言中的所有字符,因此Unicode诞生了。Unicode 就是相当于一本超级厚的字典,记录着世界上所有字符对应的一个数字,规定了符合对应的二进制代码,Unicode 给所有的字符指定了一个数字用来表示该字符。

UTF-8

Unicode存在两个很大的问题:1.由于Unicode记录了各个国家字符的对应编码关系,因此字典太厚,内容太多,以至于查询起来太麻烦。2.有些国家的语言字符不能用一个字节来储存,比如中文当中的“汉”就需要用三个字节来存储,而计算机又不能识别字符使用多少字节来存储的,所以是定长的方式来存储,这样就造成了严重的资源浪费。

所以utf-8编码方式出现了,最大特点就是可变长的。对于单个字节的字符,第一位设为 0,后面的 7 位对应这个字符的 Unicode 码点。因此,对于英文中的 0 - 127 号字符,与 ASCII 码完全相同。对于需要使用 N 个字节来表示的字符(N > 1),第一个字节的前 N 位都设为 1,第 N + 1 位设为0,剩余的 N - 1 个字节的前两位都设位 10,剩下的二进制位则使用这个字符的 Unicode 码点来填充。不够的位用0来填充。

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

URLcode

一般来说,URL只能使用英文字母、阿拉伯数字和某些标点符号,不能使用其他文字和符号。 在使用URL进行参数传递时,经常会传递一些中文名(或含有特殊字符)的参数或URL地址,在后台处理时会。发生转换错误。这些特殊符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了。
 编码的格式为:%加字符的ASCII码,即一个百分号%,后面跟对应字符的ASCII(16进制)码值。例如空格的编码值是"%20"

你可能感兴趣的:(网络)