【已解决】请问node如何处理字符串‘e2%80%98%e5%89%8d%e7%....’
初学爬虫,总是无法get正确的url。 需要将字符串 ‘前端实习’ 转为 ‘%E5%89%8D%E7%AB%AF%E5%AE%9E%E4%B9%A0’。 自己写了个蠢方法。
function encoding (str) {
var buffer = new Buffer(str);
var gbk = '';
for (var i = 0;i < buffer.length;i ++) {
gbk += '%' + buffer[i].toString(16);
}
return gbk;
}
function decoding (gbk) {
var bgbk = gbk.toString().split('%').splice(0,gbk.length);
var buffer = new Buffer(bgbk.length);
for (var i = 0;i < buffer.length;i ++) {
buffer[i] = parseInt(bgbk[i],16);
}
return buffer.toString();
}
后来在论坛中大牛们的帮助得知原来只需要两个原生函数。
encodeURIComponent();//编码
decodeURIComponent();//解码
由此小事观之,基础知识不牢,需倍加努力。 再次感谢回答问题的朋友。