JS将URL中的UTF-8字符串转成中文字符

时间:2023-01-06 14:56:34

将URL中的UTF-8字符串转成中文字符,如将%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80  转成“编程语言”

函数getCharFromUtf8实现如下:

	//将URL中的UTF-8字符串转成中文字符串
function getCharFromUtf8(str) {
var cstr = "";
var nOffset = 0;
if (str == "")
return "";
str = str.toLowerCase();
nOffset = str.indexOf("%e");
if (nOffset == -1)
return str;
while (nOffset != -1) {
cstr += str.substr(0, nOffset);
str = str.substr(nOffset, str.length - nOffset);
if (str == "" || str.length < 9)
return cstr;
cstr += utf8ToChar(str.substr(0, 9));
str = str.substr(9, str.length - 9);
nOffset = str.indexOf("%e");
}
return cstr + str;
}

//将编码转换成字符
function utf8ToChar(str) {
var iCode, iCode1, iCode2;
iCode = parseInt("0x" + str.substr(1, 2));
iCode1 = parseInt("0x" + str.substr(4, 2));
iCode2 = parseInt("0x" + str.substr(7, 2));
return String.fromCharCode(((iCode & 0x0F) << 12) | ((iCode1 & 0x3F) << 6) | (iCode2 & 0x3F));
}



//获取当前页面的URL

var url = location.href;

//截取传递参数
var paraString = url.substring(url.indexOf("=") + 1, url.length);