JavaScript中字符串与Unicode编码互相转换的实现方法

时间:2024-11-21 16:20:15
一.字符串转化为Unicode编码
//方法1:
var str = "\\u6211\\u662Funicode\\u7F16\\u7801";

str = eval("'" + str + "'");

str = unescape((/\u/g, "%u"));
方法2:
// 包装为JSON
var dataJSON = '{"Unicode编码": "'+ "\u7F16" +'"}';
// 使用JSON工具转换
var objJSON = (dataJSON);

var unicode = objJSON["Unicode编码"];
(unicode); // 中文全月空格
//二.将汉字转化为 unicode编码
    var str = "中文";
    // 获取字符
    var char0 = (0);
    (char0);// "中"
    // 数字编码值
    var code = (0);
    (code);// 20013
    // 编码互转
    var str0 = (code);
    (str0); // "中"
    // 转为16进制数组
    var code16 = (16);
    (code16);// "4e2d"
    // 变成字面量表示法
    var ustr = "\\u"+code16;
    ("unicode编码",ustr ); // "\u4e2d"

Unicode小百科:
在计算机科学领域中,Unicode(统一码、万国码、单一码、标准万国码)是业界的一种标准,
 它可以使电脑得以呈现世界上数十种文字的系统。Unicode是基于通用字符集(Universal
 Character Set)的标准来发展,并且同时也以书本的形式(The Unicode Standard,目前
 第五版由Addison-Wesley Professional出版,ISBN-10: 0321480910)对外发表。Unicode
 包含了超过十万个字符(在2005年,Unicode的第十万个字符被采纳且认可成为标准之一)、
 一组可用以作为视觉参考的代码图表、一套编码方法与一组标准字符编码、一套包含了上标
 字、下标字等字符特性的列举等。

Unicode组织(The Unicode Consortium)是由一个非营利性的机构所运作,并主导Unicode的
 后续发展,其目标在于:将既有的字符编码方案,以Unicode编码方案来加以取代,特别是既
 有的方案在多语环境下,皆仅有有限的空间以及不相容的问题。

Unicode在字符集认可的成功,使其得以在电脑软件的国际化与本地化领域中,广泛且具优势
 的被采用。这标准已在近年来的多种新科技当中被加以采用,包含了可扩展置标语言(XML)
 、Java编程语言、以及最新的操作系统中。

unicode编码的编码规则
比如要把“杨”编码,我们可以新建一个记事本,输入“杨”保存时选择存为unicode编码,
 然后查看文件二进制内容,前面的FF FE两个字节是unicode编码文件头标志,接着的68 67
 两个字节就是“杨”的unicode编码,用计算器换算为十进制就是26472,现在可以在一个
 html文件里面写入“杨”,IE打开就显示一个“杨”字。

当然,对于一般ASCII码,unicode编码与ASCII编码一致,所以A可以显示一个大写字母“A”.