function bin2hex(str) {
var re = /[0-9a-zA-Z_.~!*()]/;
var ret = '';
for (var i = 0, l = str.length; i < l; i++) {
if (re.test(str.charAt(i))) {
ret += str.charCodeAt(i).toString(16);
} else {
ret += encodeURIComponent(str.charAt(i)).replace(/%/g, '');
}
}
return ret;
}
function hex2bin(str) {
var ret = '';
var tmp = '';
for (var i = 0; i < str.length - 1; i += 2) {
var c = String.fromCharCode(parseInt(str.substr(i, 2), 16));
if (c.charCodeAt() > 127) {
tmp += '%' + str.substr(i, 2);
if (tmp.length == 9) {
ret += decodeURIComponent(tmp);
tmp = '';
}
} else {
ret += c;
}
}
return ret;
}
全文結束【EOF】