字符集最简单的理解就是字符的集合,我们可以使用不同字符集来显示浏览器最终显示的内容。例如我们常用的中文就是UTF-8,仔细回想一下是不是我们都在HTML最上面加了个<meta charset="utf-8">,这个时候我们整个网页就是用的这个编码来解析所有显示文字在浏览器中显示。
JavaScript程序使用UTF-16编码的Unicode字符集编写。Unicode是ASCII和Latin-1的超集,几乎支持目前全球的所有语言。ECMAScript3要求JavaScript的实现必须支持Unicode2.1及后续版本,ECMAScript5则要求支持Unicode3及后续版本。
常见字符集名称:ASCII字符集、GB2312字符集、Unicode字符集等。
Unicode背景知识
Unicode只有一个字符集,中、日、韩的三种文字占用了Unicode中0x3000到0x9FFF的部分。Unicode目前普遍采用的是UCS-2,它用两个字节来编码一个字符,比如汉字"经"的编码是0x7ECF,注意字符编码一般用十六进制来表示,为了与十进制区分,十六进制以0x开头,0x7ECF转换成十进制就是32463。
UCS-2用两个字节来编码字符,两个字节就是16位二进制, 2的16次方等于65536,所以UCS-2最多能编码65536个字符。编码从0到127的字符与ASCII编码的字符一样,比如字母"a"的Unicode 编码是0x0061,十进制是97,而"a"的ASCII编码是0x61,十进制也是97, 对于汉字的编码,事实上Unicode对汉字支持不怎么好,这也是没办法的, 简体和繁体总共有六七万个汉字,而UCS-2最多能表示65536个,才六万多个,所以Unicode只能排除一些几乎不用的汉字,好在常用的简体汉字也不过七千多个,为了能表示所有汉字,Unicode也有UCS-4规范,就是用 4个字节来编码字符,不过现在普遍采用的还是UCS-2,只用两个字节来编码。
ASCII字符可以用 \x## 形式的十六进制表示,例如:
Unicode字符用 \u#### 表示:
我们来尝试着了解一下转换规则,首先我们需要把要转换的字符变成整数编码(10进制),然后在转成16进制即可。
本文原创,未经作者允许不可转载!
更多内容,欢迎关注作者微信公众号:李游Leo老师前端讲堂!
暂无评论
违反法律法规
侵犯个人权益
有害网站环境