在javascript中将字符串解码为数组值

在javascript中将字符串解码为数组值,javascript,arrays,string,decoding,Javascript,Arrays,String,Decoding,我有两个字符串和一些字符。其中一个是“混合”字符,另一个是具有某种意义的有序字符。例如: wvEr2JmJUs2JRr:7Fob9WIB8mSOA?w0s2E:7-f/-G/N-.f7jN:Mi:.CDfGX7tn! Identification: zpE?bkHlfYS-hIDate: 07/08/2057 12:34:56.789 CGT 正如你所看到的,第一个有相等的符号,这与第二个中的相等符号相同。 任务是——用它们创造某种字母表,因为我有第三个字符串需要“解码”。(wvEr2JmJU

我有两个字符串和一些字符。其中一个是“混合”字符,另一个是具有某种意义的有序字符。例如:

wvEr2JmJUs2JRr:7Fob9WIB8mSOA?w0s2E:7-f/-G/N-.f7jN:Mi:.CDfGX7tn!
Identification: zpE?bkHlfYS-hIDate: 07/08/2057 12:34:56.789 CGT
正如你所看到的,第一个有相等的符号,这与第二个中的相等符号相同。 任务是——用它们创造某种字母表,因为我有第三个字符串需要“解码”。(wvEr2JmJUs2JRr:7a1ajvvvhvamrwsxwsfavjvajaaoe88a2?s2AxJ1?290s2E:7-f/-G/N-.f7jN:MC:ifDCGN7tn!)。 这里棘手的部分是,如果我很确定前两个字符串,它们绝对相等,就像一个字符数一样,那么新的一个,符号数完全不同,但它们是由“字母表”组成的

这是我目前创建“字母表”的代码:

var enc=“wvEr2JmJUs2JRr:7Fob9WIB8mSOA?w0s2E:7-f/-G/N-.f7jN:Mi:.CDfGX7tn!”;
var dec=“识别:zpE?bkHlfYS隐藏日期:07/08/2057 12:34:56.789 CGT”;
var newenc=“wvEr2JmJUs2JRr:7a1ajvvvvmrrwsxwsfavjvajaaoe88a2?s2AxJ1?290s2E:7-f/-G/N-.f7jN:MC:ifDCGN7tn!”;
var myenc={};
var mynewenc={};
对于(i=0;i

现在-我如何解码,新的一个字符串,使用这个“字母表”?

这里有一种方法,你可以接近它(正如我理解的问题):

//创建字典
var dict={};
var enc=“wvEr2JmJUs2JRr:7Fob9WIB8mSOA?w0s2E:7-f/-G/N-.f7jN:Mi:.CDfGX7tn!”.split(“”);
var dec=“识别:zpE?bkHlfYS隐藏日期:07/08/2057 12:34:56.789 CGT”。拆分(“”);
//填充你的字典
对于(变量i=0;i

但是,对于此方法,您必须处理
newenc
中定义的字符,而
enc
中未定义这些字符(例如
T
)。根据你描述的情况和规则,我尽力做到最好,希望这能有所帮助

如果我理解得很好,您可以尝试使用此代码。 它在您的enc变量中找到适当的编码字母,如果找到该字母,它将用dec变量中相应的字母替换它

var enc = "wvEr2JmJUs2JRr:7Fob9WIB8mSOA?w0s2E:7-f/-G/N-.f7jN:Mi:.CDfGX7tn!";

var dec = "Identification: zpE?bkHlfYS-hIDate: 07/08/2057 12:34:56.789 CGT";

var newenc = "wvEr2JmJUs2JRr:7a1AJvvHvAmRRWsxWsFAvJvAJAaoE88A2?s2AxJ1?290s2E:7-f/-G/N-.f7jN:MC:ifDCGN7tn!";

for (i = 0; i < newenc.length; i++) {
    for (j = 0; j < enc.length; j++) {
        if (enc[j] == newenc[i])
            newenc[i] = dec[j];
    }
};

console.log(newenc);
var enc=“wvEr2JmJUs2JRr:7Fob9WIB8mSOA?w0s2E:7-f/-G/N-.f7jN:Mi:.CDfGX7tn!”;
var dec=“识别:zpE?bkHlfYS隐藏日期:07/08/2057 12:34:56.789 CGT”;
var newenc=“wvEr2JmJUs2JRr:7a1ajvvvvmrrwsxwsfavjvajaaoe88a2?s2AxJ1?290s2E:7-f/-G/N-.f7jN:MC:ifDCGN7tn!”;
对于(i=0;i
最后,变量newenc可能包含解码字符串。

var enc=“wvEr2JmJUs2JRr:7Fob9WIB8mSOA?w0s2E:7-f/-G/N-.f7jN:Mi:.CDfGX7tn!”;
var enc = "wvEr2JmJUs2JRr:7Fob9WIB8mSOA?w0s2E:7-f/-G/N-.f7jN:Mi:.CDfGX7tn!";
var dec = "Identification: zpE?bkHlfYS-hIDate: 07/08/2057 12:34:56.789 CGT";

var newenc = "wvEr2JmJUs2JRr:7a1AJvvHvAmRRWsxWsFAvJvAJAaoE88A2?s2AxJ1?290s2E:7-f/-G/N-.f7jN:MC:ifDCGN7tn!";

function make_dictionary(enc, dec){
    o = new Object();
    if(enc.length == dec.length){
        for(i=0; i<enc.length; i++){
            o[enc[i]] = dec[i];
        }
    }
    else{
        console.log('error');
    }
    return o;
}

function translate(newenc, dictionary, fill){
    var newstring = '';
    for(i=0; i<newenc.length; i++){
        if(typeof dictionary[newenc[i]] !== 'undefined'){
            newstring += dictionary[newenc[i]];
        }
        else{
            newstring += fill;
        }

    }
    return newstring;
}

var d = make_dictionary(enc, dec);
console.log(d);
var string = translate(enc, d, '_');
console.log(string);
var string = translate(newenc, d, '_');
console.log(string);
var dec=“识别:zpE?bkHlfYS隐藏日期:07/08/2057 12:34:56.789 CGT”; var newenc=“wvEr2JmJUs2JRr:7a1ajvvvvmrrwsxwsfavjvajaaoe88a2?s2AxJ1?290s2E:7-f/-G/N-.f7jN:MC:ifDCGN7tn!”; 函数生成字典(enc,dec){ o=新对象(); 如果(enc.length==dec.length){ 对于(i=0;i
var enc = "wvEr2JmJUs2JRr:7Fob9WIB8mSOA?w0s2E:7-f/-G/N-.f7jN:Mi:.CDfGX7tn!";

var dec = "Identification: zpE?bkHlfYS-hIDate: 07/08/2057 12:34:56.789 CGT";

var newenc = "wvEr2JmJUs2JRr:7a1AJvvHvAmRRWsxWsFAvJvAJAaoE88A2?s2AxJ1?290s2E:7-f/-G/N-.f7jN:MC:ifDCGN7tn!";

for (i = 0; i < newenc.length; i++) {
    for (j = 0; j < enc.length; j++) {
        if (enc[j] == newenc[i])
            newenc[i] = dec[j];
    }
};

console.log(newenc);
var enc = "wvEr2JmJUs2JRr:7Fob9WIB8mSOA?w0s2E:7-f/-G/N-.f7jN:Mi:.CDfGX7tn!";
var dec = "Identification: zpE?bkHlfYS-hIDate: 07/08/2057 12:34:56.789 CGT";

var newenc = "wvEr2JmJUs2JRr:7a1AJvvHvAmRRWsxWsFAvJvAJAaoE88A2?s2AxJ1?290s2E:7-f/-G/N-.f7jN:MC:ifDCGN7tn!";

function make_dictionary(enc, dec){
    o = new Object();
    if(enc.length == dec.length){
        for(i=0; i<enc.length; i++){
            o[enc[i]] = dec[i];
        }
    }
    else{
        console.log('error');
    }
    return o;
}

function translate(newenc, dictionary, fill){
    var newstring = '';
    for(i=0; i<newenc.length; i++){
        if(typeof dictionary[newenc[i]] !== 'undefined'){
            newstring += dictionary[newenc[i]];
        }
        else{
            newstring += fill;
        }

    }
    return newstring;
}

var d = make_dictionary(enc, dec);
console.log(d);
var string = translate(enc, d, '_');
console.log(string);
var string = translate(newenc, d, '_');
console.log(string);