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

(编辑:jimmy 日期: 2025/10/2 浏览:2)

本文实例讲述了JavaScript中字符串与Unicode编码互相转换的实现方法。分享给大家供大家参考,具体如下:

这段代码演示了JavaScript中字符串与Unicode编码的转换:

// 为了控制台的演示方便, 变量没有添加 var 定义
// 实际编程中请避免
// 字符串
str = "中文";
// 获取字符
char0 = str.charAt(0); // "中"
// 数字编码值
code = str.charCodeAt(0); // 20013
// 编码互转
str0 = String.fromCharCode(code); // "中"
// 转为16进制数组
code16 = code.toString(16); // "4e2d"
// 变成字面量表示法
ustr = "\\u"+code16; // "\u4e2d"
// 包装为JSON
jsonstr = '{"ustr": "'+ ustr +'"}'; //'{"ustr": "\u4e2d"}'
// 使用JSON工具转换
obj = JSON.parse(jsonstr); // Object {ustr: "中"}
//
ustr_n = obj.ustr; // "中"

如果是一组字符串,则需要使用到 for 循环来处理。

其中,我们使用了JSON工具来进行转换。

如果要兼容 IE6等浏览器,则可用如下形式进行解析:

if("object" === typeof message){
  // 如果是对象,则不进行转换
} else if(window["JSON"]){
  message = JSON.parse(message);
} else { // IE6, IE7
  message = eval("("+ message + ")");
}

控制台调试结果如下所示:

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

希望本文所述对大家JavaScript程序设计有所帮助。

一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。