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

成都展示型网站开发域名注册流程及费用

成都展示型网站开发,域名注册流程及费用,找小网站的关键词,开发网页系统一般多少钱UTF-8究竟是怎么编码的 1. UTF-8编码是Unicode字符集的一种字符编码方式(CEF)#xff0c;其特点是使用变长字节数(即变长码元序列或称变宽码元序列)来编码。目前一般是1到4个字节#xff0c;当然#xff0c;也可以更长。 为什么要变长呢#xff1f;这可以理解为按需分配…UTF-8究竟是怎么编码的 1. UTF-8编码是Unicode字符集的一种字符编码方式(CEF)其特点是使用变长字节数(即变长码元序列或称变宽码元序列)来编码。目前一般是1到4个字节当然也可以更长。 为什么要变长呢这可以理解为按需分配比如一个字节足以容纳所有的ASCII字符那何必补一堆0导致占用更多的字节来存储呢 实际上变长编码有其优势也有其劣势优势方面除了上面所讲的节省存储空间之外还有就是自动纠错性能好、利于传输、扩展性强而劣势方面主要是由于字符的编码字节数不固定导致不利于程序内部处理比如导致正则表达式检索的复杂度大为增加而UTF-32这样的等长码元序列(即等宽码元序列)的编码方式就比较适合程序处理当然缺点是比较耗费存储空间。 2. 那UTF-8究竟是怎么编码的呢也就是说其编码算法是什么 UTF-8编码最短的为一个字节、最长的目前为四个字节从首字节就可以判断一个UTF-8编码有几个字节 如果首字节以0开头肯定是单字节编码(即单个单字节码元)如果首字节以110开头肯定是双字节编码(即由两个单字节码元所组成的双码元序列)如果首字节以1110开头肯定是三字节编码(即由三个单字节码元所组成的三码元序列)以此类推。 另外UTF-8编码中除了单字节编码外由多个单字节码元所组成的多字节编码其首字节以外的后续字节均以10开头(以区别于单字节编码以及多字节编码的首字节)。 0、110、1110以及10相当于UTF-8编码中各个字节的前缀因此称之为前缀码。其中前缀码110、1110及10中的0是前缀码中的终结标志。 UTF-8编码中的前缀码起到了很好的区分和标识的作用 当解码程序读取到一个字节的首位为0表示这是一个单字节编码的ASCII字符当读取到一个字节的首位为1表示这是一个非ASCII字符的多字节编码字符中的某个字节(可能是首字节也可能是后续字节)接下来若继续读取到一个1则确定为首字节再继续读取直到遇见终结标志0为止读取了几个1就表示该字符为几个字节的编码当读取到一个字节的首位为1紧接着读取到一个终结标志0则该字节显然是非ASCII字符的后续字节(即非首字节)。 笨笨阿林原创文章转载请注明出处 3. 所以14字节的UTF-8编码看起来分别是这样的 单字节可编码的Unicode码点值范围十六进制为0x0000 ~ 0x007F十进制为0 ~ 127 双字节可编码的Unicode码点值范围十六进制为0x0080 ~ 0x07FF十进制为128 ~ 2047 三字节可编码的Unicode码点值范围十六进制为0x0800 ~ 0xFFFF十进制为2048 ~ 65535 四字节可编码的Unicode码点值范围十六进制为0x10000 ~ 0x1FFFFF十进制为65536 ~ 2097151目前Unicode字符集码点编号的最大值为0x10FFFF实际尚未编号到0x1FFFFF这说明作为变长字节数的UTF-8编码其未来扩展性非常强即便目前的四字节编码也还有大量编码空间未被使用更不论还可扩展为五字节、六字节……。 笨笨阿林原创文章转载请注明出处 4. 上述Unicode码点值范围中十进制值127、2047、65535、2097151这几个临界值是怎么来的呢 因为UTF-8编码中的每个字节中都含有起到区分和标识之用的前缀码0、110、1110以及10之一所以14个字节的UTF-8编码其实际有效位数分别为8-17位2^7-1127、16-511位2^11-12047、24-816位2^16-165535、32-1121位2^21-12097151如下表所示 注上图中的Unicode range为Unicode码点值范围(也就是Unicode码点编号范围)Hex为16进制Binary为二进制Encoded bytes为UTF-8编码中各字节的编码方式(即编码算法)其中x代表Unicode二进制码点值的单字节或低字节中的低7位或8位、y代表两字节码点值的高字节中的低3位或8位以及三字节码点值的中字节中的8位、z代表三字节码点值的高字节中的低5位。 因此UTF-8编码的算法简单地来概括就是首先确定UTF-8编码中各个字节的前缀码之后再将UTF-8编码中各个字节除了前缀码所占用之外的位依次分配给Unicode字符码点值二进制中各个位的值。换言之就是用Unicode字符码点值二进制中各个位的值依次填充UTF-8编码中的各个字节除了前缀码所占用之外的位。 5. 由于ASCII字符的UTF-8编码使用单字节而且和ASCII编码一模一样这样所有原先使用ASCII编码的文档就可以直接解码了无需进行任何转换实现了完全兼容。考虑到计算机世界里的英文文档数量之多这一点意义重大。 而对于其他非ASCII字符则使用2~4个字节的编码来表示。其中首字节中前置的“1”的个数代表该字符编码的字节数(如110代表两个字节、1110代表三个字节以此类推)非首字节之外的剩余后续字节的前两位始终是10这样就不会与ASCII字符编码(“0”开头)以及非ASCII字符的首字节编码(110或1110等至少两个“1”开头)相冲突。 例如假设某个字符的首字节是1110yyyy前置有三个1说明该字符编码总共有三个字节必须和后面两个以10开头的字节结合才能正确解码该字符。 6. 由此可知UTF-8编码设计得非常精巧虽说不上完美无瑕但若与后文将要介绍的UTF-16、UTF-32以及前文介绍过的那些ANSI编码相比较对于其精巧设计将体会得更为深切透彻。因此UTF-8越来越得到全球一致认可大有一统字符编码之势。 笨笨阿林原创文章转载请注明出处 未完待续 【预告本系列文章下一篇将重点介绍UTF-16编码敬请关注】
http://wiki.neutronadmin.com/news/131223/

相关文章:

  • 济南软月建站浦东新区手机网站建设
  • 在阿里巴巴做网站多少钱2019门户网站的三个基本特征
  • 山西建设厅网站密钥重装wordpress
  • 长春 房地产网站建设百度开屏广告优缺点
  • 建网站公司郑州wordpress能外链的主题
  • 公司做网站设计要注意如何联系外贸公司接订单
  • 镇江门户网站wordpress微信推送
  • wordpress 漫画网站北京网站建设第一品牌
  • 设计手机网站内容模块淘宝网店运营
  • jsp网站开发 孟浩pdf石家庄网站建设价格低
  • 国外html响应式网站模板用网站做自我介绍ppt
  • 做网站用什么服务器好做得不好的知名企业网站
  • 网站运营培训学校如何建立和设计公司网站作文
  • 网站开发时间seo优化包括哪些内容
  • 漳州最专业的网站建设公司建国外网站买完域名后怎么做
  • 清水河网站建设wordpress主题站
  • 网站建设大小python wordpress采集器
  • 网站视觉优化的意义网站建设公司包括哪些
  • 云南百度智能建站免费制作h5的小程序
  • 网站建设流程域名申请网站建设万户网络
  • 网站开发 打标签中国空间站最新动态
  • 昆山品牌网站建设拼多多关键词排名查询工具
  • 建南沙做网站公司有什么网站建设类岗位
  • 阿里云网站更换域名网站设计工具更好的做网站
  • 做爰午夜福利全过程视频网站厦门网站建设哪家好
  • 哪个公司的网站做得好织梦调用网站类型
  • 沈阳工程建设信息网站教务处网站建设要求
  • 网站建设基地关闭WordPress自动文章摘要
  • 有没有教做帽子的网站wordpress文章链接带问号
  • 1核1g可以做几个网站服务好质量好的app开发