在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);