/*
    This file contains all the utility function that may be use at one point.
*/
function string2hexstring(s) {
    var result = "";
    for (i = 0; i < s.length; i++) {
        var c_val = s.charCodeAt(i);
        if (c_val >= 0 && c_val <= 15) result += "0x000" + c_val.toString(16).toUpperCase();
        else if (c_val >= 16 && c_val <= 255) result += "0x00" + c_val.toString(16).toUpperCase();
        else if (c_val >= 256 && c_val <= 4095) result += "0x0" + c_val.toString(16).toUpperCase();
        else if (c_val >= 4096 && c_val <= 65535) result += "0x" + c_val.toString(16).toUpperCase();
    }
    return result;
}

function hexstring2string(s) {
    var result = "";
    if (s.length > 0) {
        var chars = s.split('0x');
        for (i = 0; i < chars.length; i++) {
            result += String.fromCharCode(parseInt(chars[i], 16));
        }
    }
    return result;
}

function string2htmlencodestring(s) {
    var result = "";
    for (i = 0; i < s.length; i++) {
        var c_val = s.charCodeAt(i);
        result += '&#' + c_val.toString() + ';'
    }
    return result;
}
