使用js解码gbk编码的字符串

来源:赵克立博客 分类: 前端开发 标签:js函数发布时间:2017-05-16 16:24:05最后更新:2017-05-16 16:24:05浏览:1941
版权声明:
本文为博主原创文章,转载请声明原文链接...谢谢。o_0。
更新时间:
2017-05-16 16:24:05
温馨提示:
学无止境,技术类文章有它的时效性,请留意文章更新时间,如发现内容有误请留言指出,防止别人"踩坑",我会及时更新文章

如下字符串为 “产后恢复肚子”

%B2%FA%BA%F3%BB%D6%B8%B4%B2%D9%CA%D3%C6%B5%BD%CC%B3%CC

直接使用js的解码函数解码得到的都是乱码,可以使用下面的函数进行解码

/**
 * js解码gbk url编码的字符串
 * @param  {[type]}   str      gbk编码字符串
 * @param  {[type]}   charset  字符串的编码
 * @param  {Function} callback 解码成功后的回函函数
 * @return {[type]}            [description]
 */
function urldecode(str, charset, callback) {
	window._urlDecodeFn_ = callback;
	var script = document.createElement('script');
	script.id = '_urlDecodeFn_';
	var src = 'data:text/javascript;charset=' + charset + ',_urlDecodeFn_("' + str + '");'
	src += 'document.getElementById("_urlDecodeFn_").parentNode.removeChild(document.getElementById("_urlDecodeFn_"));';
	script.src = src;
	document.body.appendChild(script);
}

使用方法

urldecode('%B2%FA%BA%F3%BB%D6%B8%B4%B2%D9%CA%D3%C6%B5%BD%CC%B3%CC', 'gbk', function(s) {
	console.log(s);
});

image.png


微信号:kelicom QQ群:215861553 紧急求助须知
Win32/PHP/JS/Android/Python