我怎样才能制作解码器和编码器?

how can i make a decorder and encoder?

我制作了自己的数字语言,我想为此制作解码器和编码器,例如当我写下

"bees"

它给了我类似

的东西

"$@@%"

当我写下`

"$@@%"

` 它给了我

"bees"

所以它根据我提供给网站的信息对内容进行编码 就像我告诉我的网站 $ 是 B,其他字母是其他符号。 我怎样才能在 html 和 javescript 中做到这一点?

听起来像是一个面试问题,所以我不会写它,但您可以使用一个简单的替换方法,您 运行 可以通过字符串。如果您从不使用您的语言中的真实字母,那么编码和解码可能是相同的。

注意:javascript replace 只会替换它找到的第一个匹配的字符,您需要使用正则表达式版本或一次遍历每个字符。

我想您只需要一个 1 对 1 的映射,然后是一种编码方法和一种解码方法。

可能与此类似

const alphabet = { 'a': '$', 'b': '?'} //here you define your mapping

encode = text => text.split('').map(ch => alphabet[ch]).join('');

decode = text => text.split('').map(ch => Object.keys(alphabet)
.find(letter => alphabet[letter] === ch)).join('');

console.log(encode('ab'));
console.log(decode('$?'));