赵工的个人空间


网络课堂部分转网页计算部分转编程演练

 HTML5的使用技巧

首页 > 网络课堂 > HTML5的使用技巧 > 网页中使用Unicode字符
网页中使用Unicode字符

最早的计算机只能使用ASCII字符,但随着计算机应用范围的扩展,很多国家都设计了用于计算机的特殊字符集,使自己国家和民族的字母及文字都能在计算机上显示和处理,比如中国的GB2312码。后来出现了互联网,把整个世界都连了进来,在一台计算机甚至一个界面上显示多国多民族文字变成现实的需要。国际组织制定了可以容纳世界上所有文字和符号的字符编码方案,称为Unicode,是通用字符集Universal Character Set的缩写,用以满足跨语言、跨平台进行文本转换、处理的要求,自从1994年发布,不断进行扩展,目前已经到了Version 10。可以进入网址https://www.unicode.org/查询详细信息,包括下载最新版本的码表。

在设计网页时,就可以使用Unicode字符集,使用时根据是在HTML、CSS中,还是在JavaScript中,而有不同的方法。
1)HTML中使用:&#dddd;或&#xhhhh;
其中dddd表示4位10进制数值,hhhh表示4位16进制数值,两种格式分别以&#及&#x为前缀,表示为10进制码或者16进制的Unicode码,都需要以分号为后缀。目前,使用4位16进制码的Unicode字符获得比较好的支持,大多数都可以在网页中正常显示,但其他更多的Unicode字符往往还不能显示出来,这是因为使用的计算机平台还没有安装相关的Unicode支持。示例:
<p>显示Unicode字符--∰</p>
其中显示了一个数学符号,Unicode码为2230,可以使用“&#x2230;”或“&#8752;”来输出这个特殊字符,然后就可以在页面中显示出来了。
2)CSS中使用:\hhhh
CSS中使用Unicode字符的场合比较少,但偶尔也会用到,一般是使用4位16进制Unicode码表示,前缀为反斜符。
3)JavaScript中使用:\uhhhh
JavaScript代码中经常会用到输出特殊字符,如在某个元素中输出温度或角度符,使用希腊字母、罗马数字等,只需要在4位Unicode的16进制码前面加上前缀“\u”即可。示例:
document.body.innerHTML="\u25D0";
其中使用了Unicode码25D0,在几何图形表中,是一个圆形图案,一般填充白色一半填充黑色,像半个月亮。

当然,中国人最常见的使用Unicode码的场合是用汉字。为了显示更多的汉字,汉字库先从GB2312扩展到GBK,目前又扩展到GB18030。最新版本的GB18030已经收入7万多个汉字,还包括各种少数民族文字,还有一些特殊字符,这个标准与Unicode码方式是一致的。当然,有些计算机未必安装了完整的新版本的支持软件,所以往往只能显示一部分字符。

为了获得一个汉字的Unicode码,可以使用JavaScript函数charCodeAt(),例如:
var ucode="赵".charCodeAt();
这样就把汉字“赵”的Unicode代码存入变量ucode中,可以获取得到Unicode码为36213,这是一个十进制的Unicode码。可以使用toString(16)方法把这个10进制码转为16进制码:
var ucode="赵".charCodeAt().toString(16);
这样获得的就是汉字“赵”的16进制形式的Unicode码,得到的值为8d75。

一般情况下输出汉字,可以将包括汉字的字符串直接显示。也可以使用汉字的Unicode码输出对应的汉字或其他字符:
String.fromCharCode(36213);
这样就将十进制Unicode码为36213的字符转换为字符串,然后将此字符串输出就会显示汉字“赵”。因为汉字可以使用输入法直接得到字符串,所以这种方法往往用来输出一些特殊字符。

Copyright@dwenzhao.cn All Rights Reserved   备案号:粤ICP备15026949号
联系邮箱:dwenzhao@163.com  QQ:1608288659