之前在阿里双十一谜题中需要对摩尔斯密码进行解密,当时是使用了在线的解密工具。最近在工作之余,自己实现了一个摩尔斯密码加解密的JS脚本,并上传到gitHub上与大家分享。
gitHub地址:https://github.com/OwenGitHub1/morse
欢迎Start一下,欢迎提意见~~
原理
创建了一个字典数组,存放字符与摩尔斯码。加解密时就循环查找,逐个翻译或加密。很容易的就完成了加解密的操作。
难点
-
异常处理与错误信息提示
目前可以去除传入的字符串左右两侧的空格,对于不能翻译的特殊字符等情况会返回错误信息。
-
性能优化
虽然这种小功能对性能的要求不高,但是我还是想尽可能的提高效率。就目前的情况来看,还有很多很多可以优化的地方。大家有好的意见可以告诉我。
使用方法
1.从GitHub获取js代码。
2.js使用
// ES5
var morse = require('Path to morse.js');
morse.decode(MORSE CODE);
morse.encode(STRING);
// ES6
import morse from 'Path to morse.js';
morse.decode(MORSE CODE);
morse.encode(STRING);
3.HTML使用
<script src="path to morse.js"></script>
<script>
morse.decode(MORSE CODE);
morse.encode(STRING);
</script>
注意事项
- 待加密字符中间不能含有空格
- 待加解密变量类型只能是String
- 待解密的摩尔斯码之间用空格分隔
近日已经将该模块打包上传至npm,大家以后可以通过npm命令安装了。
#npm 命令
npm install simple-morse
如果文章中有理解不正确的地方,欢迎大家帮忙指正。