Javascript 使用多个字符串进行编码和解码

Javascript 使用多个字符串进行编码和解码,javascript,node.js,string,character-encoding,base64,Javascript,Node.js,String,Character Encoding,Base64,在我的一项任务中,我需要在接收端发送和解码数据时对数据进行编码 Encoding : Buffer.from("bob" + "carl").toString('base64'); Decoding : Buffer.from(<encoded-string>,'base64').toString('ascii')); 编码:Buffer.from(“bob”+“carl”).toString(“base64”); 解码:Buffer.from(,'base64').toStrin

在我的一项任务中,我需要在接收端发送和解码数据时对数据进行编码

Encoding : Buffer.from("bob" + "carl").toString('base64');
Decoding : Buffer.from(<encoded-string>,'base64').toString('ascii'));
编码:Buffer.from(“bob”+“carl”).toString(“base64”);
解码:Buffer.from(,'base64').toString('ascii');

如您所见,我在这里对两个字符串(“bob”和“carl”)进行编码。有没有办法在解码时得到两个单独的字符串?

您可以使用一个高度唯一的字符串作为分隔符,然后在另一侧使用与匹配分隔符的拆分

例如:

delimiter = "~~~"
编码

Buffer.from("bob" + delimiter + "carl").toString('base64');
解码

decode = Buffer.from(<encoded-string>,'base64').toString('ascii')).split(delimiter);
decode[0] == "bob";
decode[1] == "carl";
decode=Buffer.from(,'base64').toString('ascii')).split(分隔符);
解码[0]=“鲍勃”;
解码[1]=“卡尔”;

什么,你希望解码器自动知道你希望它在哪里分割输出字符串?不,那是不可能的。如果需要单独编码,请分别解码。@Patrick:我确信解码器无法分割输出字符串,因为它不知道多个字符串的结束/开始。但是,有没有一种方法可以一次性对多个字符串进行编码,并且我可以在解码时识别多个字符串?
arrayOfEncodedStrings=[“bob”,“carl”].map(字符串=>Buffer.from(字符串,'ascii').toString('base64'))
arrayOfDecodedStrings=arrayOfEncodedStrings.map(字符串=>Buffer.from(字符串,'base64').toString('ascii'))
?@Patrick:ArrayOfenCodedString实际上包含多个编码字符串。这不是我要找的。结果编码字符串必须是一个string.Kool。这似乎是一种可能的方式。还有其他的吗?我正在寻找各种可能的选项,因为我可能需要以URL和不同的方式发送此编码字符串。我建议使用控制字符作为分隔符(特别是如果您知道原始字符串没有控制字符,应该是这样的,但对于少数明显的字符(新行,制表符)。U+0003(文本结尾)似乎是个不错的选择。@Bobby我给你的答案已经两周了,你已经承认答案是正确的。你应该接受它,或者提供更多的澄清,说明你在寻找什么,而不是说“不同的方式”。