【已解决】请问node如何处理字符串‘e2%80%98%e5%89%8d%e7%....’
发布于 9 年前 作者 Qiandaxiang 3613 次浏览 最后一次编辑是 8 年前 来自 问答

初学爬虫,总是无法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();//解码

由此小事观之,基础知识不牢,需倍加努力。 再次感谢回答问题的朋友。

4 回复

encodeURIComponent('‘前端实习’')

@alsotang https://github.com/alsotang/urlencode

回到顶部