我在数据库中有一个url,并将使用php函数bin2hex()对其进行编码。我想在javascript中解码它
两个函数都提供完全相同的输出。但是什么功能更好,更快,更可靠?因为它必须适用于所有桌面和移动设备。
function first_HexToString(input) {
var result = "";
for(q = 0; q < input.length; q += 2) {
result += '%' + input.substr(q,2);
}
return decodeURIComponent(result);
}
function second_HexToString(input) {
var result = "";
for(q = 0; q < input.length; q += 2) {
result += String.fromCharCode(parseInt(input.substr(q,2),16));
}
return result;
}
诗;网址不是很秘密,在Firebug或类似的东西中显示简单,我认为可以对网址进行编码。 ; - )
答案 0 :(得分:0)
decodeURIComponent()的性能是否可以忽略不计,这也是可能的。哈!
function third_HexToString(input) {
return decodeURIComponent(input.replace(/(.{1,2})/g, "%$1"));
}
答案 1 :(得分:-1)
性能方面,我会使用第一个函数,因为它有更少的方法调用:input.length * 3/2 + 1,而input.length * 2则是第二个函数。
计算详情: