Javascript\x在混合字符串中转义

Javascript\x在混合字符串中转义,javascript,utf-8,Javascript,Utf 8,我有一个字符串,是通过使用Ajax加载网页预览得到的。标题如下: titleSuggest.replace(/(?:\\x[\da-fA-F]{2})+/g, m => decodeURIComponent(m.replace(/\\x/g, '%'))).replace(/\\n/g, '<br>').replace(/\\/g, '') 哈佛大学最新研究显示,你可以处理Facebook广告的真相 我需要用人类可读的文本替换那些转义码。我尝试了String.fromChar

我有一个字符串,是通过使用Ajax加载网页预览得到的。标题如下:

titleSuggest.replace(/(?:\\x[\da-fA-F]{2})+/g, m =>
decodeURIComponent(m.replace(/\\x/g, '%'))).replace(/\\n/g,
'<br>').replace(/\\/g, '')
哈佛大学最新研究显示,你可以处理Facebook广告的真相

我需要用人类可读的文本替换那些转义码。我尝试了
String.fromCharCode()
,但如果是混合字符串,则不会返回任何内容,前提是仅发送字符代码


是否有一个函数可用于修复此字符串?

以下是一种方法:

const str_orig='哈佛大学最新研究显示,你可以\\xe2\\x80\\x99t处理Facebook广告的真相';
console.log(“之前:+str_orig”);
const str_new=str_orig.replace(
/(?:\\x[\da-fA-F]{2})+/g,
m=>decodeURIComponent(m.replace(/\\x/g,“%”)
);

console.log(“在“+str_new”之后)Melpomene得到了上面的答案,我只想在这里添加一个额外的剪报:在某些情况下,上面的解决方案偶尔会留下\or\n,因此我对其进行了如下修改:

titleSuggest.replace(/(?:\\x[\da-fA-F]{2})+/g, m =>
decodeURIComponent(m.replace(/\\x/g, '%'))).replace(/\\n/g,
'<br>').replace(/\\/g, '')
titleSuggest.replace(/(?:\\x[\da-fA-F]{2})+/g,m=>
解码组件(m.replace(/\\x/g,'%'))。replace(/\\n/g,
“
”)。替换(/\\/g,”)
ajax加载的内容到底是什么?ajax代码是什么?通常它应该在解析内容时解析转义字符。这看起来很奇怪。。。这些都是十六进制转义,但打印字符串会让我很难受。为什么你需要一个撇号的3个十六进制字节?“UTF-8中的JaydSmith-VIVE Unicode ApToLoPe?”字符串应该是
can\u2019t
。简单地说,这里是Ajax代码:$(“#id_url_text”)。在('InputPropertyChange paste',function(){$.Ajax({url:'/webproxy/?q='+$(“#id_url_text”).val(),类型:'get',数据类型:'html',跨域:true,成功:function(数据){//var\u html=jQuery(data);var div=document.createElement(“div”);div.innerHTML=data;var titleSuggest=div.querySelector(“meta[property='og:title']”)getAttribute(“content”);},@Bergi您如何使用
String.fromCharCode
这里?
替换(/\\x([0-9a-f]{2})/gi),(\uu,c)=>String.fromCharCode(parseInt(c,16)))
@Bergi完全正确。
\xe2\x80\x99
需要转换为一个字符。