开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 1096|回复: 0
收起左侧

[JS例程分享] 莫斯密码,编解码,中文支持

[复制链接]

结帖率:100% (2/2)
发表于 2018-8-25 22:23:19 | 显示全部楼层 |阅读模式   浙江省杭州市
  
function mosi () {
function e (e) {
return e = e || {}, [e.space || "/", e.short || ".", e.long || "-"]
}
function n (e) {
for (var n = [], r = 0; r < e.length; r++) n[r] = ("00" + e.charCodeAt (r).toString (16)).slice (-4);
return n = n.join (""), n = parseInt (n, 16).toString (2)
}
function r (r, o) {
o = e (o);
var t = [];
r = r.replace (/\s+/g, "").toLocaleUpperCase ().split ("");
for (var p, a, c = 0, u = r.length; c < u; c++) p = r[c], a = i[p], a || (a = n (p)), t.push (a.replace (/0/g, o[1]).replace (/1/g, o[2]));
return t.join (o[0])
}
function o (e) {
return e = parseInt (e, 2), isNaN (e) ? "" : unescape ("%u" + e.toString (16))
}
function t (n, r) {
r = e (r);
var t = [];
n = n.split (r[0]);
for (var i, a, c = 0, u = n.length; c < u; c++) i = n[c].replace (/\s+/g, "").replace (new RegExp ("\\" + r[1], "g"), "0").replace (new RegExp ("\\" + r[2], "g"), "1"), a = p[i], a || (a = o (i)), t.push (a);
return t.join ("")
}
var i = {
A: "01",
B: "1000",
C: "1010",
D: "100",
E: "0",
F: "0010",
G: "110",
H: "0000",
I: "00",
J: "0111",
K: "101",
L: "0100",
M: "11",
N: "10",
O: "111",
P: "0110",
Q: "1101",
R: "010",
S: "000",
T: "1",
U: "001",
V: "0001",
W: "011",
X: "1001",
Y: "1011",
Z: "1100",
0: "11111",
1: "01111",
2: "00111",
3: "00011",
4: "00001",
5: "00000",
6: "10000",
7: "11000",
8: "11100",
9: "11110",
".": "010101",
",": "110011",
"?": "001100",
" ' ": "011110",
"!": "101011",
"/": "10010",
" (": "10110",
")": "101101",
"&": "01000",
":": "111000",
";": "101010",
"=": "10001",
"+": "01010",
"-": "100001",
_: "001101",
' "': "010010",
$: "0001001",
"@": "011010"
},
p = {};
for (var a in i) p[i[a]] = a;
return {
encode: r,
decode: t
}
};
function encode (word) {
var aa = new mosi ();
return aa.encode (word);
}
function decode (word) {
var aa = new mosi ();
return aa.decode (word);
}

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表