‮口一你了亲并‭

今天在朋友圈看到有人贴出来了很好玩的截图



这究竟是怎么做到的呢?让我们从字符集说起。

ASCII

用电脑显示文字其实是一件很复杂的事情,最简单的比如英文这种拼音文字一共26个字母,大小写加在一起一共是52个,而最小用5*7的点阵就可以显示出来


我们学习C++的时候经常会用到这个叫做ASCII码的东西,ASCII是基于拉丁字母的一套电脑编码控制系统。一共定义了128个字符,用8个二进制位来表示。除了52个字母以外,还有数字,符号,空格和31个不可见符号。

应该很多人还记得32是空格,65是A,97是a,在VB里面会用ASCII码来判断按键。32以前的编码是不可见字符,可以控制换行,文件分割,退格等操作。

在有些终端会把32以前的编码解析为笑脸或者扑克牌符号一类的字符。

详情见 维基百科 ASCII

所以我们很容易想到一个问题:ASCII码表示英文绰绰有余,但是中文那么多字,8个二进制位肯定不够用的,除了中文英文以外,还有很多奇奇怪怪的各国文字,ASCII显然更加不够用了,那怎么办呢?

UNICODE

Unicode是国际通用的文字编码,目前的版本已经收录超过十万个字符。

Unicode第一个版本1.0.0是1991年发布的,包含了阿拉伯字母,希腊字母,拉丁字母,平假名,片假名,藏文等。中文在次年的1.0.1版本被加入。

unicode常用表示法是四位16进制数,每个字符2字节,理论上最多表示65535个字符,已经可以支持日常的使用了。

前面说到收录超过十万个字符,这是Unicode字符平面映射的机制决定的,详情可以参见维基百科 Unicode字符平面映射

这个表的最前面128个字符和ascll是一致的,便于两个字符集转换,后面就开始各种颜文字了。先是一波带调号的字母,然后是各种钩子,叉子(ʐ ʑ ʒ ʓ ʔ ʕ ʖᴤ ᴥ ᴦ ᴧ ᴨ ᴩ ᴪ ᴫ)还有希腊字母(ΑαΒβΓγΔδΕε...)

另外还有一些神奇的东西,比如盲文


给你们一个网站,可以自己找好玩的外国文字(为了看清文字,后面几段做了加粗)

比如这个像来了姨妈似的表情௳是一个泰米尔文,还有一个疼的不行的升级版௸。这个大针蜂మ是泰卢固文字母,还有个喝了三鹿的大针蜂య

僧伽罗语很多人都听说过,它的字母也很萌,比如一只大眼睛ෛ,缅甸语里面还有猴子ဦ

来自埃塞尔比亚的小风车ሸ,还有膝盖中箭的小风车ሹ,脚踝中箭的小风车ሺ,浑身中箭的小风车ጁ

来自加拿大的印第安方言嘲讽二兄弟ᐖ和ᐛ

表情包就找到这里,反正网址也贴出来了,你们可以自己找着玩,接下来我们来说一开始的问题。

特殊符号

当一直往下翻unicode列表的时候,会发现几个空白的格子。
之前ASCII的时候也说到,有些符号是不可见的,代表一些特定功能,其中202e的说明我们打开看一下:


这个字符是给一些从右向左的语言使用,使文字按照从右向左的顺序排列,还有一个字符\u202d是强制从左向右,我们现在分析一下为什么利用这两个字符可以做到撤回的神奇效果。
首先我的名字:

王德福 == \u738b\u5fb7\u798f

而要加尾巴的文字是:

并亲了你一口 == \u5e76\u4eb2\u4e86\u4f60\u4e00\u53e3

然后我们在这一段前面加入\u202e来反向文字:

\u202e\u5e76\u4eb2\u4e86\u4f60\u4e00\u53e3 == 并亲了你一口

这时候需要调整一下文字顺序,变成:

\u202e\u53e3\u4e00\u4f60\u4e86\u4eb2\u5e76 == 口一你了亲并

我们的目的是把名字后半段插入到“撤回了一条消息”之后,所以要在“并亲了你一口”后加一个从左到右的符号\u202d,改造完成的后缀是:

\u202e\u53e3\u4e00\u4f60\u4e86\u4eb2\u5e76\u202d == 口一你了亲并

正常的时候会显示:

王德福撤回了一条消息 == \u738b\u5fb7\u798f\u64a4\u56de\u4e86\u4e00\u6761\u6d88\u606f

加上后缀之后就是:

\u738b\u5fb7\u798f\u202e\u53e3\u4e00\u4f60\u4e86\u4eb2\u5e76\u202d\u64a4\u56de\u4e86\u4e00\u6761\u6d88\u606f == 王德福口一你了亲并撤回了一条消息

图解一下发生了什么事情:


系统会先显示王德福,然后“口一你了亲并”会从右向左依次显示,而“撤”就直接接在“福”后面了,有一点类似前端所用的“float:right”的感觉。用这种方式达到了通过改名插入一个后缀。

p.s. 截至发文的时候,貌似微信已经修复了这个不算是BUG的小彩蛋。想借机泡妹子的弟兄们你们可能要失望了,不过或许你可以把这篇文章讲给妹子,让她觉得“哇塞,你懂的好多呀!”

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 说明:本文是我在readthedocs看到的,觉得很不错所以转载过来,有删改,原文地址点这里。 实用Unicode...
    aurora阅读 4,576评论 0 6
  • 可以看我的博客 lmwen.top 或者订阅我的公众号 简介有稍微接触python的人就会知道,python中...
    ayuLiao阅读 8,511评论 1 5
  • 星期日。多云,燥热。 为什么总是觊觎下个月的工资?
    紅蜻蜓阅读 1,423评论 0 0
  • 1、大部分的iPhone用户其实不会打开手机设置“iTunes Store与App Store”的“自动下载更新”...
    郭伟_技术与产品阅读 6,664评论 0 3

友情链接更多精彩内容