我怎样才能制作解码器和编码器?
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('$?'));
我制作了自己的数字语言,我想为此制作解码器和编码器,例如当我写下
"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('$?'));