[英]how to convert a string containing utf8 hex codes to a javascript string
[英]Javascript convert Var to UTF8 string
我遇到了一个奇怪的情况,我似乎无法想象我的出路。 我有一个包含UTF8字符的字符串(转义)。 我已经尝试过decodeURIComponent(escape(str))以及一堆其他建议的修复程序,但尚未成功。
我已经编写了这个函数来获取字符串,找到转义的字符,并用直接的UTF8替换它们。
var unescapeUTF8 = function(str) {
var matches = str.match(/\\u.{4}/g);
if (matches == null) return str;
for (var item of matches)
{
// testing
console.log(new String(item));
}
....
....
....
};
从测试开始,我知道如果我去new String("\ģ")
我将返回一个字符串对象String {0: "ģ", length: 1, [[PrimitiveValue]]: "ģ"}
似乎无论我对上面函数中的字符串做了什么,我都无法将它从它转换为\ģ
为ģ
我通过打开开发人员工具并运行以下内容,设法在浏览器中“创建”该问题
var x = "\\u0123";
console.log(x); // == "\u0123"
new String(x); // == String {0: "\", 1: "u", 2: "1", 3: "3", 4: "2", 5: "4", length: 6, [[PrimitiveValue]]: "\u1324"}
任何人都可以想出如何将“x”转换为UTF8字符请...
由于这些转义序列乍一看是有效的JSON转义序列,因此最简单的方法是将字符串解析为JSON字符串:
var x = "\\\ģ"; console.log(JSON.parse('"' + x + '"'));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.