使用decodeURIComponent 解码GBK的url出现URI malformed错误,求解决方法
var a = ‘%CC%EC%D4%DE%D6%FA%BB%E1%D4%B1%C9%ED%B7%DD’;
/Users/liurex/Documents/ShopService/app.js:49 var ccc = decodeURIComponent(a); ^ URIError: URI malformed
6 回复
你自己写个程序转换
没有现成的模块么?
如果只限于nodejs平台,可利用已有的gbk->unicode模块
//npm install iconv-lite
var iconv=require('iconv-lite');
var a = '%CC%EC%D4%DE%D6%FA%BB%E1%D4%B1%C9%ED%B7%DD';
a=a.replace(/%([a-zA-Z0-9]{2})/g,function(_,code){
return String.fromCharCode(parseInt(code,16));
});
var buff=new Buffer(a,'binary');
var result=iconv.decode(buff,'gbk');
console.log(result);
如果要在浏览器端跑,楼上童鞋正解
说得非常正确 这个版本没有代码高亮啊,没有贡献呢