JavaScript如何对后台utf8编码的字符串解码?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript如何对后台utf8编码的字符串解码?相关的知识,希望对你有一定的参考价值。

javascript对utf-8字符可以使用原生的Javascript代码来进行转义后再解码。该编码其实不是utf8,而是unicode编码。这里的字符实际上是html实体。
方法定义如下:
var decodeHtmlEntity = function(str)
return str.replace(/(\\d+);/g, function(match, dec)
return String.fromCharCode(dec);
);
;

输入:
var str = \'JavaScript高级程序设计\';
console.log(decodeHtmlEntity(str));

输出:
JavaScript高级程序设计
参考技术A 为了防止xss以及csrf+xss的漏洞,后台统一对字符串进行了转码
结果如下:
原文: JavaScript高级程序设计
编码: JavaScript高级程序设计
前端写了一段如下代码:
function u2str(text) // transform text in utf8 format to string
return unescape(text.replace(/&#/g,'%u').replace(/;/g,''));

对普通的中文没问题,但是对上面的中英文加载的文本,这个函数就会返回乱码。

参考技术B 可以使用原生的Javascript代码来进行转义。该编码其实不是utf8,而是unicode编码。这里的字符实际上是html实体。

以上是关于JavaScript如何对后台utf8编码的字符串解码?的主要内容,如果未能解决你的问题,请参考以下文章

c++如何通过utf8字符串编码的文件名,在windows上打开一个文件

如何对mysql中的字符进行编码转换

一文带你弄懂C++中的ANSIUnicode和UTF8三种字符编码

如何将4字节utf-8的emoji表情转换为unicode字符编码

QDataStream readQString() 如何读取 utf8 字符串

C#对字符串进行编码解码