字符串到数字,然后返回到JavaScript中的字符串加密/解密

字符串到数字,然后返回到JavaScript中的字符串加密/解密,javascript,string,encryption,Javascript,String,Encryption,我有一个字符串的形式 [{"name":John, "title":'sir'\"SubTitle":'\gh}] 它包含上述所有字符和一些类似的字符。,等。是否有任何有效的算法/函数将此字符串转换为包含诸如“342343544536564756756765745463543243”等数字的数字字符串,并且还可以将此数字字符串解码回原始字符串?以下解决方案应能正确处理所有ASCII字符: function encode(str) { return str.replace(/./g, f

我有一个字符串的形式

[{"name":John, "title":'sir'\"SubTitle":'\gh}]

它包含上述所有字符和一些类似的字符。,等。是否有任何有效的算法/函数将此字符串转换为包含诸如“342343544536564756756765745463543243”等数字的数字字符串,并且还可以将此数字字符串解码回原始字符串?

以下解决方案应能正确处理所有ASCII字符:

function encode(str) {
    return str.replace(/./g, function(c) {
        return ('00' + c.charCodeAt(0)).slice(-3);
    });
}

function decode(str) {
    return str.replace(/.{3}/g, function(c) {
        return String.fromCharCode(c);
    });
}
测试:

var str = encode(JSON.stringify({ name: 'John', title: 'sir' }));
// "123034110097109101034058034074111104110034044034116105116108101034058034115105114034125"

console.log( decode(str) );
// "{"name":"John","title":"sir"}"