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

时间:2023-01-03 21:30:39
一.字符串转化为Unicode编码
//方法1:
var str = "\\u6211\\u662Funicode\\u7F16\\u7801";

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

str = unescape(str.replace(/\u/g, "%u"));
方法2:
// 包装为JSONvar dataJSON = '{"Unicode编码": "'+ "\u7F16" +'"}';// 使用JSON工具转换var objJSON = JSON.parse(dataJSON);var unicode = objJSON["Unicode编码"];console.log(unicode); // 中文全月空格
//二.将汉字转化为 unicode编码    var str = "中文";    // 获取字符    var char0 = str.charAt(0);    console.log(char0);// "中"    // 数字编码值    var code = str.charCodeAt(0);    console.log(code);// 20013    // 编码互转    var str0 = String.fromCharCode(code);    console.log(str0); // "中"    // 转为16进制数组    var code16 = code.toString(16);    console.log(code16);// "4e2d"    // 变成字面量表示法    var ustr = "\\u"+code16;    console.log("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”.