HTML与javascript中常用编码浅析

2021-01-09    分类: 网站建设

在日常的前端开发工作中,我们会经常的与HTML、&#106avascript、css等语言打交道,和一门真正的语言一样,计算机语言也有它的字母表、语法、词法、编码方式等,在这里我简单的谈一下前端HTML与&#106avascript日常工作中常碰到的编码问题。</p> <p>在计算机中,我们储存的信息都是用二进制码表示的。我们认识的、屏幕上显示的英文、汉字等符号和储存用的二进制代码的互相转换,就是编码。</p> <p>有两个基本概念需要说明,charset 和 character encoding:</p> <p>charset ,字符集,也就是某个符号和某个数字映射关系的一个表,也就是它决定了107 是koubei 的 ‘a’,21475 是口碑的“口”,不同的表有不同的映射关系,如 ascii,gb2312,Unicode. 通过这个数字和字符的映射表,我们可以把一个二进制表示的数字转换成某个字符。</p> <p>chracter encoding ,编码方式。例如,同是对于应“口”的 21475 这个数,我们是用 \u5k3e3 表示呢,还是用 %E5%8F%A3 来表示呢?这就是由 character encoding 来决定的。</p> <p>对于 ‘<A href="/" target=_blank>cdcxhl.com</A>’ 这样的 字符串来说,是美国人的常用字符,他们就制定了一个 叫做ASCII 的字符集,全称是 american standard code of information interchange 美国标准信息交换码,用0–127这128个数字,(2的7次方,0×00-0×7f) 代表了123abc这样的常用的128个字符。一共是 7 bits,再加上第一个是符号位,要用来去补码反码表示负数什么的,一共8 bits 构成一个 byte。当年美国人就是小气了点,要是一开始就设计成一个 byte 是16 bits、32 bits,世界上会少很多问题,不过当时,估计他们觉得 8 bits 就够了,可以表示128个不同的字符呢!</p> <p>介于计算机这玩意儿是美国人搞出来的,所以他们自己省事,把自家用的符号都编码好了,用的挺爽的。但当计算机开始国际化的时候,问题出来了,拿中国举例吧,汉字就好几万,怎么办?</p> <p>现有的 8 bits 一个 byte 的系统是基础,不能破坏,不能去改到 16 bits之类的,否则改动太大了,只能走另一条路:用多个 ascii 的字符去表示一个其他字符,也就是 MBCS ( Multi-Byte Character System,多字节字符系统)。</p> <p>有了这个 MBCS 的概念,我们可以表示更多个字符了,比如我们用 2 个 ascii 字符,就有 16 bits, 理论上有 2 的 16 次方 65536 个字符。但这些编码怎么分配到字符上呢?比如口碑的”口”的 Unicode 编码就是 21475,谁决定的呢?字符集,也就是刚刚介绍的charset。ascii就是最基础的一个字符集,在此之上,我们有类似于 gb2312, big5这样针对简体中文和繁体中文的MBCS的字符集等等。终于有个叫 Unicode Consortium 的机构,决定做一个囊括所有字符在内的字符集(UCS, Universal Character Set)和对应编码方式的标准,即 Unicode。从1991年开始,它发布了第一版 Unicode 国际标准,ISBN 0-321-18578-1 ,国际标准化组织 ISO 也参与了这个的定制,ISO/IEC 10646 : the Universal Character Set。总之,Unicode 是个基本覆盖了所有已经存在的地球上的符号的字符标准了,现在正在被越来越广泛的使用,ECMA 标准也规定,&#106avascript语言的内部字符使用 Unicode 标准(这意味着,&#106avascript的变量名、函数名等是允许中文的!)。</p> <p>对于身在中国的开发者来说,可能碰到比较多的问题就是 gbk, gb2312, utf-8 之间转换之类的问题了。严格的说这个说法不是很准确,gbk,gb2312是字符集 (charset),而 utf-8 是一种编码方式 (character encoding) ,是 Unicode 标准中 UCS 字符集的一种编码方式,因为使用 Unicode 字符集的网页主要用UTF-8编码,所以大家常常就把它们并列了,其实是不准确的。</p> <p>有了 Unicode 后,至少人类文明没有碰到外星人之前,这是一把万能钥匙了,都用它吧。而现在使用最广泛 Unicode 的编码方式就是 UTF-8 (8-bit UCS/Unicode Transformation Format) 了,它有几个特别好的地方:</p> <p>编码 UCS 字符集,全世界通用</p> <p>是一种变长编码方式(variable-length character encoding),兼容 ascii</p> <p>第二点是个很大的优点,它使得以前使用纯 ascii 编码的系统兼容,而且不会增加额外的存储量(假设定长的编码方式,规定每个字符由2个 bytes 组成,那么这时候 ascii 字符占用的存储空间将增大一倍)。</p> <p> 网页名称:<a href="/news37/96537.html">HTML与javascript中常用编码浅析</a> <br> 本文网址:<a href="/news37/96537.html">/news37/96537.html</a> </p> <p> <a href="/" target="_blank">成都网站建设公司</a>_<a href="https://www.cdcxhl.cn/" target="_blank">创新互联</a>,为您提供<a href="/news/dingzhiwangzhan/">定制网站</a>、<a href="/news/ruanjiankaifa/">软件开发</a>、<a href="/news/biaoqianseo/">标签优化</a>、<a href="/news/xiangyingshi/">响应式网站</a>、<a href="/news/gaiban/">网站改版</a>、<a href="/news/quanwang/">全网营销推广</a> </p> <p class="adpic"> <a href="/service/ad.html" target="_blank" class="ad">广告</a> <a href="" target="_blank" class="adimg"><img src=""></a> </p> <p class="copy"> 声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: <a href="/" target="_blank">创新互联</a> </p> </div> <div class="newsmorelb"> <p>猜你还喜欢下面的内容</p> <ul> <li> <a href="/news34/96534.html">网站域名用cn还是com好</a> <span>2021-01-09</span> </li><li> <a href="/news32/96532.html">什么是DDOS技术?</a> <span>2021-01-09</span> </li><li> <a href="/news28/96528.html">你的网站为什么被黑?</a> <span>2021-01-09</span> </li><li> <a href="/news26/96526.html">如何建设设计法律类网站</a> <span>2021-01-09</span> </li><li> <a href="/news20/96520.html">国内三家较赚钱互联网公司</a> <span>2021-01-09</span> </li><li> <a href="/news18/96518.html">数字证书的原理是什么?</a> <span>2021-01-09</span> </li> </ul> </div> </div> <div class="col-lg-3 noneb"> <a href="/wangzhandingzhi.html" title="成都定制网站网页设计" target="_blank"><img src="/upload/news/dingzhiwangzhan.png" alt="成都定制网站网页设计" class="img-responsive"></a> <div class="bkright"> <p><a href="/news/jianshe/">网站建设知识</a></p> <ul> <li> <a class="text_overflow" href="/news31/96531.html">SEO和SEO技巧初学者应该怎样学习</a> <span>2021-01-09</span> </li><li> <a class="text_overflow" href="/news29/96529.html">建筑设计行业应该怎么做网络推广?</a> <span>2021-01-09</span> </li><li> <a class="text_overflow" href="/news27/96527.html">如何写网站推广方案</a> <span>2021-01-09</span> </li><li> <a class="text_overflow" href="/news25/96525.html">中小站长在社区盈利过程中常犯的一些错误</a> <span>2021-01-09</span> </li><li> <a class="text_overflow" href="/news23/96523.html">网址导航站登录地址大全</a> <span>2021-01-09</span> </li><li> <a class="text_overflow" href="/news21/96521.html">搜索引擎营销导向的网站内容策略</a> <span>2021-01-09</span> </li><li> <a class="text_overflow" href="/news19/96519.html">用户不喜欢你网站的10大原因</a> <span>2021-01-09</span> </li><li> <a class="text_overflow" href="/news17/96517.html">十招让内容页流量翻番</a> <span>2021-01-09</span> </li> <li> <a class="text_overflow" href="/news16/96516.html">中小企业网络营销之软文推广</a> <span>2021-01-09</span> </li><li> <a class="text_overflow" href="/news14/96514.html">浅谈从3个方面避开黑帽SEO</a> <span>2021-01-09</span> </li><li> <a class="text_overflow" href="/news13/96513.html">挑选VPS的几个考虑</a> <span>2021-01-09</span> </li><li> <a class="text_overflow" href="/news11/96511.html">网络营销不容忽视的错误战略</a> <span>2021-01-09</span> </li><li> <a class="text_overflow" href="/news8/96508.html">加快网站打开速度的七个办法</a> <span>2021-01-09</span> </li> </ul> </div> <div class="bkright tag"> <p><a href="/hangye/" target="_blank">分类信息网</a></p> <ul> <li class="col-lg-6 col-md-6 col-sm-6 col-xs-6"> <a href="/hangye/gaokongche/" target="_blank">高空作业车租赁</a> </li><li class="col-lg-6 col-md-6 col-sm-6 col-xs-6"> <a href="/hangye/geshan/" target="_blank">格栅板</a> </li><li class="col-lg-6 col-md-6 col-sm-6 col-xs-6"> <a href="/hangye/huisuosj/" target="_blank">会所设计</a> </li><li class="col-lg-6 col-md-6 col-sm-6 col-xs-6"> <a href="/hangye/rxfhw/" target="_blank">柔性防护网</a> </li><li class="col-lg-6 col-md-6 col-sm-6 col-xs-6"> <a href="/hangye/qchs/" target="_blank">报废汽车回收</a> </li><li class="col-lg-6 col-md-6 col-sm-6 col-xs-6"> <a href="/hangye/gsdb/" target="_blank">工商代办</a> </li><li class="col-lg-6 col-md-6 col-sm-6 col-xs-6"> <a href="/hangye/fadianji/" target="_blank">柴油发电机</a> </li><li class="col-lg-6 col-md-6 col-sm-6 col-xs-6"> <a href="/hangye/huaxiang/" target="_blank">花箱</a> </li> </ul> </div> </div> </div> <footer> <div class="carousel-inner footjz"> <div class="container"> <i class="icon iconfont zbw"></i> 高品质定制 <i class="icon iconfont"></i> 跨终端自动兼容 <i class="icon iconfont"></i> 节约开发成本 <i class="icon iconfont"></i> 开发周期短 <i class="icon iconfont"></i> 一体化服务 <button type="button" class="btn btn-default btn-lg" onClick="window.location.href='tencent://message/?uin=631063699&Site=&Menu=yes'"> 立即开始2800定制网站建设</button> <button type="button" class="btn btn-default btn-xs" onClick="window.location.href='tencent://message/?uin=631063699&Site=&Menu=yes'"> 2800定制网站建设</button> </div> </div> <div class="carousel-inner bqsy"> <div class="container"> <div class="lxfs"> <h4 class="yutelnone">028-86922220 13518219792</h4> <h4 class="yutelblock"><a href="tel:02886922220">028-86922220</a> <a href="tel:13518219792">13518219792</a></h4> <a class="btn btn-default" href="tencent://message/?uin=532337155&Site=&Menu=yes" role="button">网站建设<span>QQ</span>:532337155</a> <a class="btn btn-default" href="tencent://message/?uin=631063699&Site=&Menu=yes" role="button">营销推广<span>QQ</span>:631063699</a> <a class="btn btn1 btn-default" href="mqqwpa://im/chat?chat_type=wpa&uin=532337155&version=1&src_type=web&web_src=oicqzone.com" role="button">网站制作<span>QQ</span>:532337155</a> <a class="btn btn1 btn-default" href="mqqwpa://im/chat?chat_type=wpa&uin=631063699&version=1&src_type=web&web_src=oicqzone.com" role="button">营销推广<span>QQ</span>:631063699</a> <a class="btn btn-default nonea" href="tencent://message/?uin=1683211881&Site=&Menu=yes" role="button">售后QQ:1683211881</a> <div class="dz">专注: <a href="/" target="_blank">成都网站建设</a><a href="http://www.kswcd.com/" target="_blank">定制网站建设</a><a href="http://www.cxhlcq.com/" target="_blank">重庆网站建设公司</a><a href="http://www.cxhljz.cn/" target="_blank">成都网站设计</a><a href="http://www.cxhlcq.com/" target="_blank">重庆网站制作</a> <address>地址:成都太升南路288号锦天国际A幢10楼</address> </div> </div> <div class="bzdh dz"><img src="../imges/bottom_logo.png" alt="创新互联"> <p><a href="/menu.html" target="_blank">成都创新互联科技有限公司</a><br> Tel:400-028-6601(7x24h)</p></div> </div> </div> </footer> <div class='link'> <a href='http://www.verzuimpartners.com'>2024欧洲杯竞猜官网</a> | <a href='http://www.its-our-pleasure.com'>BET体育官方网站(中国)有限公司</a> | <a href='http://www.vspflooring.com'>星空体育·(StarSky Sports)</a> | <a href='http://www.zeusalarm.com'>bet官方(中国)有限公司</a> | <a href='http://www.dragongardentogo.com'>在线体育竞猜(中国)有限公司</a> | <a href='http://www.terranuragica.com'>BET体育|中国有限公司</a> | <a href='http://www.haygg.com'>bat365在线平台·(中国)官方网站</a> | <a href='http://www.jebsenwineestates.com'>半岛·体育(中国)官方网站</a> | </div> </body> </html>