function isString(variable) {
return Object.prototype.toString.call(variable).indexOf('String') != -1;
}
function isNumeric(variable) {
return !isNaN(parseFloat(variable)) && isFinite(variable);
}
function stringEncode(string) {
string = isString(string) || isNumeric(string) ? String(string) : '';
var code,
i = 0,
code_string = '',
len = string.length;
while(i < string.length) {
code = string.charCodeAt(i);
code_string += '' + String(code).length + code;
i++;
}
return code_string;
}
function stringDecode(code) {
var i = 0,
code_len,
decode_string = '';
code = String(code);
while(i < code.length) {
code_len = +code.charAt(i);
i++;
decode_string += String.fromCharCode(+code.substr(i, code_len));
i += code_len;
}
return decode_string;
}