我有一个字符串,女巫包含诸如“ \ u00c3 \ u00a7”之类的unicode序列,女巫应显示为“ç”,但我却得到了这个“ç”
数据来自Json中Facebook的导出。
有一个与此主题相关的帖子(Facebook JSON badly encoded),我尝试使用iconv进行编码/解码,但没有成功!
谢谢!
从latin1到utf8进行编码/解码:
iconv.decode(iconv.encode(str, 'latin1'), 'utf8');
替换\ u ...:
str.replace(/\\u([\d\w]{4})/gi, function (match, grp) {
return String.fromCharCode(parseInt(grp, 16));
});
我还尝试了encodeURIComponent:
encodeURIComponent(stringWithUnicode);
答案 0 :(得分:0)
我对此一无所知,但是我确实注意到两个字节的按位OR(|)会产生正确的字符,如果将unicode字符串发送到以下函数中,则会得到正确的结果:>
function getExtended(uc){
var bytes = uc.split("\\u").filter(v => v.length).map(v => parseInt(v, 16));
return String.fromCharCode(bytes[0] | bytes[1]);
}