好久没来论坛了,不知道还有没有人记得我。

在逛网站的时候,发现了一个奇怪的网站

https://strangers.atrocityland.com/enter/site/deadends/deadend_iamlost.html

发出来的信息,看上去像被外星人绑架了一样。


·

我以为是什么奇特密文,结果查了一圈,发现这个只是用来表示信息传输损坏,乱码的符号。

在”scp基金会”中很常用

无法解释的乱码,不可直视,不可想象
·

我突然▗▞▄▃▄觉得这▙▞▖▗▞▚▎▄▙▚▄编码方式▗▞▄▝▞▗▄▌▗▞▚▎▘▜▞▗▗很有潜力▄▞▙▘▗▗▀

既然我解不开乱码,就重新赋予乱码新的意义吧。

·


大家知道编码原理的都知道,只要有两个不同的字符(如:a/b或A/b),就能排列组合成任意形式的编码。

可以参考“社会主义核心价值观编码原理”

社会主义核心价值观基本编码原理很简单

选举核心价值观12个词语,按4个一组的排列组合,枚举出来答案得到的排列。 然后记录输入字符的utf8值,再将相应的utf8字符逐一与4个一组的核心价值观和常用字建立映射关系 ,最后根据得到组合提取核心价值观词库中相应的词,并用该词替换掉字符串中对应的字符。

可以参考这个https://github.com/zhanyuzhang/harmonious-encoder/blob/master/index.js
·


然后看了看,这个乱码▞▙▞基本▚▚▀▚▖字符串有10来个,我怎么可能错过

·


本来想直接抄抄核心价值观的。但是看了看这个直接使用for+穷举遍历法。时间复杂度也太大了。

核心价值观的编码

(使用穷举遍历法),时间复杂度成指数上升。

·


没法,自己搞了一个

之后发现直接用js的map方法映射utf8到“▞▙▞▚▚▀▚▖编码”,其实很容易的,时间复杂度也很低。

我的▞▙▞▚▚▀▚▖编码

重要函数就这么一点

之后还加了抗干扰(插入干扰),总代码只有40行。
可以看刚拉的仓库github
(刚好这个号是登录状态)
·


之后突发奇想,加入了抗干扰。

就算在编码后的字符里面插入中文或者英语,也可以正常解码

半可读,半不可读。一下就有scp的感觉了

感觉像 ->[#滑稽]<- 被外星人绑架发出的求救信息然后乱码了一样。

抗干扰暂时用的是正则方法,可能不是最优秀的解

·


然后映射时采取了沉余原理来压缩部分编码,让“▞▙▞▚▚▀▚▖编码”不会太大。

还是比较大,用10来个码来表示所有的utf8码还是挺大的
·


外星人编码,后面感觉可以叫scp编码(好像scp是用的最多的)

后面还是没改,还是叫“▞▙▞▚▚▀▚▖编码”,可能是因为最早看到的是这个图了解到了。

https://strangers.atrocityland.com/enter/site/deadends/deadend_iamlost.html

[#滑稽]被外星人绑架了,印象太深刻了

·


在线测试github.io/alkencode


另外,在论坛找的Dooong的图床真好用,希望Wiziscool不会生气,毕竟我上传的时候大概的确超过10张了,然后换了个IP


感谢ymh1147和kikuri 提供优化思路。已优化