当前位置: 首页 > news >正文

替网站做任务怎么做的三类安全员证查询系统

替网站做任务怎么做的,三类安全员证查询系统,福州专业网站设计团队,建站之星做的网站如何导出转载自 Unicode与UTF-8的区别 要弄清Unicode与UTF-8的关系#xff0c;我们还得从他们的来源说起#xff0c;下来我们从刚开始的编码说起#xff0c;直到Unicode的出现#xff0c;我们就会感觉到他们之间的关系 ASCII码 我们都知道#xff0c;在计算机的世界里#x…转载自  Unicode与UTF-8的区别 要弄清Unicode与UTF-8的关系我们还得从他们的来源说起下来我们从刚开始的编码说起直到Unicode的出现我们就会感觉到他们之间的关系  ASCII码 我们都知道在计算机的世界里信息的表示方式只有0和1,但是我们人类信息表示的方式却与之大不相同很多时候是用语言文字、图像、声音等传递信息的。 那么我们怎样将其转化为二进制存储到计算机中这个过程我们称之为编码。更广义地讲就是把信息从一种形式转化为另一种形式的过程。  我们知道一个二进制有两种状态”0” 状态 和 “1”状态那么它就可以代表两种不同的东西我们想赋予它什么含义就赋予什么含义比如说我规定“0” 代表 “吃过了”, “1”代表 “还没吃”。 这样我们就相当于把现实生活中的信息编码成二进制数字了并且这个例子中是一位二进制数字那么2位二进制数可以代表多少种情况能对是四种2^2,分别是 00、01、10、11那7种呢答案是2^7128。 我们知道在计算机中每八个二进制位组成了一个字节Byte计算机存储的最小单位就是字节字节如下图所示  所以早期人们用8位二进制来编码英文字母(最前面的一位是0)也就是说将英文字母和一些常用的字符和这128中二进制0、1串一一对应起来比如说 大写字母“A”所对应的二进制位“01000001”转换为十六进制为41。 在美国这128是够了但是其他国家不答应啊他们的字符和英文是有出入的比如在法语中在字母上有注音符号如 é ,这个怎么表示成二进制 所以各个国家就决定把字节中最前面未使用的那一个位拿来使用原来的128种状态就变成了256种状态比如é就被编码成130二进制的10000010。 为了保持与ASCII码的兼容性一般最高为为0时和原来的ASCII码相同最高位为1的时候各个国家自己给后面的位(1xxx xxxx)赋予他们国家的字符意义。 但是这样一来又有问题出现了不同国家对新增的128个数字赋予了不同的含义比如说130在法语中代表了é,但是在希伯来语中却代表了字母Gimel这不是希伯来字母只是读音翻译成英文的形式具体的希伯来字母Gimel看下图  所以这就成了不同国家有不同国家的编码方式所以如果给你一串二进制数你想要解码就必须知道它的编码方式不然就会出现我们有时候看到的乱码 。 Unicode的出现 Unicode为世界上所有字符都分配了一个唯一的数字编号这个编号范围从 0x000000 到 0x10FFFF(十六进制)有110多万每个字符都有一个唯一的Unicode编号这个编号一般写成16进制在前面加上U。例如“马”的Unicode是U9A6C。 Unicode就相当于一张表建立了字符与编号之间的联系 它是一种规定Unicode本身只规定了每个字符的数字编号是多少并没有规定这个编号如何存储。 有的人会说了那我可以直接把Unicode编号直接转换成二进制进行存储是的你可以但是这个就需要人为的规定了而Unicode并没有说这样弄因为除了你这种直接转换成二进制的方案外还有其他方案接下来我们会逐一看到。  编号怎么对应到二进制表示呢有多种方案主要有UTF-8UTF-16UTF-32。 1、UTF-32  先来看简单的UTF-32  这个就是字符所对应编号的整数二进制形式四个字节。这个就是直接转换。 比如马的Unicode为U9A6C那么直接转化为二进制它的表示就为1001 1010 0110 1100。 这里需要说明的是转换成二进制后计算机存储的问题我们知道计算机在存储器中排列字节有两种方式大端法和小端法大端法就是将高位字节放到底地址处比如0x1234, 计算机用两个字节存储一个是高位字节0x12,一个是低位字节0x34它的存储方式为下 UTF-32用四个字节表示处理单元为四个字节一次拿到四个字节进行处理如果不分大小端的话那么就会出现解读错误比如我们一次要处理四个字节 12 34 56 78这四个字节是表示0x12 34 56 78还是表示0x78 56 34 12 不同的解释最终表示的值不一样。 我们可以根据他们高低字节的存储位置来判断他们所代表的含义所以在编码方式中有UTF-32BE和UTF-32LE分别对应大端和小端来正确地解释多个字节这里是四个字节的含义。 2、UTF-16  UTF-16使用变长字节表示  ① 对于编号在U0000到UFFFF的字符常用字符集直接用两个字节表示。  ② 编号在 U10000到U10FFFF之间的字符需要用四个字节表示。 同样UTF-16 也有字节的顺序问题大小端所以就有UTF-16BE表示大端UTF-16LE表示小端。 3、UTF-8  UTF-8就是使用变长字节表示,顾名思义就是使用的字节数可变这个变化是根据Unicode编号的大小有关编号小的使用的字节就少编号大的使用的字节就多。使用的字节个数从1到4个不等。 UTF-8的编码规则是 ① 对于单字节的符号字节的第一位设为0后面的7位为这个符号的Unicode码因此对于英文字母UTF-8编码和ASCII码是相同的。  ② 对于n字节的符号n1,第一个字节的前n位都设为1第n1位设为0后面字节的前两位一律设为10剩下的没有提及的二进制位全部为这个符号的Unicode码 。 举个例子比如说一个字符的Unicode编码是130显然按照UTF-8的规则一个字节是表示不了它因为如果是一个字节的话前面的一位必须是0所以需要两个字节(n 2)。 根据规则第一个字节的前 2 位都设为1第3(21)位设为0则第一个字节为110X XXXX后面字节的前两位一律设为10后面只剩下一个字节所以后面的字节为10XX XXXX。 所以它的格式为110XXXXX 10XXXXXX 。 下面我们来具体看看具体的Unicode编号范围与对应的UTF-8二进制格式  那么对于一个具体的Unicode编号具体怎么进行UTF-8的编码呢 首先找到该Unicode编号所在的编号范围进而可以找到与之对应的二进制格式然后将该Unicode编号转化为二进制数去掉高位的0最后将该二进制数从右向左依次填入二进制格式的X中如果还有X未填则设为0 。 比如“马”的Unicode编号是0x9A6C,整数编号是39532对应第三个范围2048 - 65535其格式为1110XXXX 10XXXXXX 10XXXXXX39532 对应的二进制是 1001 1010 0110 1100将二进制填入进入就为  11101001 10101001 10101100 。 由于UTF-8的处理单元为一个字节也就是一次处理一个字节所以处理器在处理的时候就不需要考虑这一个字节的存储是在高位还是在低位直接拿到这个字节进行处理就行了因为大小端是针对大于一个字节的数的存储问题而言的。 综上所述UTF-8、UTF-16、UTF-32都是Unicode的一种实现。
http://www.yutouwan.com/news/134455/

相关文章:

  • 社交类网站开发需求分析wordpress 栏目显示
  • asp网站后台验证码错误安装wordpress 空白
  • 单县网站建设保定八大平台公司
  • 手机端怎么网站建设建设网站所需要的技术
  • 高端网站制作网站建设免费logo设计在线设计制作工具
  • 乐清门户网站建设wordpress短代码返回html
  • 网站开发地图板块浮动网站建设和维护待遇
  • 车佣做汽车网站怎么样沈阳男科医院免费在线咨询
  • 现货做网站网站后台登陆显示验证码错误
  • 屏蔽网站接口js广告网站制作公司兴田德润实力强
  • 常用设计网站wordpress匿名投稿
  • 陈巴尔虎旗网站建设旅游的网页设计模板
  • vs网站开发中企动力企业邮箱入口
  • 网站服务器与虚拟主机flask做网站工具
  • 如何给网站更换域名中国装修网官方网站
  • seo网站打开慢手机如何翻到国外网站
  • 重点建设政协网站wordpress进销存
  • 网站与新闻建设总结网络运营者应当按照网络安全等级保护制度的要求
  • 深圳营销型网站邵阳学院研究生与学科建设处网站
  • 青岛做网站的费用wordpress站外链接页面
  • 浙江省网站建设公司排名灵山建设局网站
  • 什么网站可以做PS 写论文兼职网页发布的步骤
  • 电商类网站怎么做推广如何使用ftp上传网站
  • 大学哪个专业可以做网站html网页设计免费模板
  • 邮件设计网站wordpress 简单会员
  • 36氪 wordpress 模板湘潭网站优化
  • 如何做中英文切换的双语网站wordpress分配管理员
  • 网站静态和动态做三角渐变用哪个网站
  • wordpress调用第一张图片关键词优化助手
  • 百斯特网站建设谷歌seo是什么