Unicode编码——微信翻译暗号
目录
Unicode编码——微信翻译暗号
背景
以前在各种平台上经常看到有人介绍所谓的“微信翻译暗号”,这样的一串字符:
看起来让人摸不着头脑,但是长按选择翻译之后却有惊喜:
由于这些文章选择的句子大多是“我爱你”“我喜欢你”之类,又用诸如“表白神器”“微信暗号”的噱头来宣传,导致我一直以为这是微信翻译团队设置的小彩蛋,仅对特定的代码触发,也没有多想。
但是,后来我发现,事情远没有这么简单……
原理
直到我在学Python的时候看到用Unicode编码表示的中文:
|
|
很眼熟。
这样就基本可以断定,上面提到的所谓“微信翻译暗号”其实就是十六进制的Unicode编码,翻译之后就显示为原来的字符。
造轮子
于是我兴冲冲用Python写了一个生成程序:
|
|
代码很简单。
但是发现输入ASCII字符的时候,生成的十六进制只有两位数(ASCII只用一个字节)形如“\u20”,翻译出来会是一堆乱码。
实践后发现补零有一定几率会解决问题,尤其在总字符较多的时候。
于是又写了补零的版本:
|
|
换轮子
如果想让别人也用的话最好能够呈现在网页上,所以我又写了个JavaScript版的:
|
|
可以在这里体验哦:传送门
挖坑
点击翻译之后,下方的标签有以下几种可能:
“微信翻译”,“微软翻译”,“已翻译”,“完成翻译”……
推测微信会根据内容选择合适的引擎,
但是目前来看只有微软翻译在含有ASCII字符的情况下输出正确的结果。可以直接在这里试:微软翻译
(╯‵□′)╯︵┻━┻
结论
还是全部打中文比较好。