JS版的bin2hex和hex2bin,支持漢字

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】

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章