微信里那个“XXX撤回一条消息并亲了你一下”是怎么实现的?

推荐  (4) | 19人关注关注
13个答案
108 0

Ent古生物学博士生,科学松鼠会成员

2016-04-21 13:41

嘛其实就是逆序了一下,然后用了一个“从右到左”的unicode控制符……

(以下是冗长的说人话版本)

unicode是一种在网页上显示文字的规范。因为它希望显示全世界所有语言的文字,而有些语言的文字是从右往左写的,所以它必须处理这个问题。

因此它发明了很多控制符,其中一个叫U+202E:“右至左覆盖”。系统在读到这一个控制符的时候,会立刻开始把显示顺序修改为从右到左。

相对应的,另一个U+202D就是“左至右覆盖”。

正常情况下,一种文字要么从左到右,要么从右到左,不会混着来。但是如果有人故意要混着玩,就会出现有意思的场景。

好比说有一个用户叫果壳网,在微信里撤回信息的时候,会显示“果壳网撤回了一条消息”

现在我改名“果壳网U+202E手短小只一了扔你向并U+202D”

系统就会试图显示“果壳网U+202E手短小只一了扔你向并U+202D撤回了一条消息

它会先依次显示“果壳网”三个字:

果I

果壳I

果壳网I

(I代表下一个字符将会出现的位置)

然后它发现了U+202E控制符,得令,开始从右边向左书写了:

果壳网 I手

果壳网 I短手

果壳网 I小短手

……

果壳网 I并向你扔了一只小短手

然后它又发现了U+202D,恢复正常,又开始从左往右输入了:

果壳网 撤I 并向你扔了一只小短手

果壳网 撤回I 并向你扔了一只小短手

果壳网 撤回了I 并向你扔了一只小短手

……

果壳网 撤回了一条消息 并向你扔了一只小短手

Success.

(友情提示:这需要改微信本名,改群昵称没用)

(不过据说微信服务器端已经封锁了这个符号所以无所谓啦)

——————————

如果你的这个效果是自己写的,那么你肯定知道发生了什么。

如果你是用网页生成的,比如 ruguoapp.com/unicode.html

那么查看一下源代码,里面值得注意的就两行

suffix = reverse(suffix);
document.write("<h1 style='padding: 100px 100px'>"+name+"&#8238;"+suffix +"&#8237;</p>")

第一行的作用是把你输入的后缀反序;

第二行的作用是把这个后缀前后加上所需的控制码。&#8238 就是 U+202E,&#8237就是 U+202D。



13 2

然并卵,微信已经修复了这个bug了~~~

"xx撤回了一条消息并xxx"成为了历史梗~~

为啥不让大家多玩一阵呢T T

2 0
支持者: 已注销用户 回马枪

话说不知道大家有没有用过windows10商店里面自带的QQ,别人撤回你还是可以看见的,就算退出了再进也是能看见的,同样的道理也适用于安卓pad的QQ HD,整蛊留证据神器。就是要放弃一部分功能(比如领红包)

1 0

闭着眼睛走路的涼咖啡吃吃吃喝喝喝玩玩玩开心

2016-04-22 12:52
支持者: 长安久乐

微信的动作可不可以慢一点

0 0

今早才看到的,别人刚教好,还没玩,就被修复了。。。/(ㄒoㄒ)/~~

6 6

神秘的东东资不深结构工程师

2016-04-22 11:36

何必这么复杂?

把名字改成“xxx亲了你一下并”微信就会显示“xxx亲了你一下并撤回了一条消息”。

0 0

如果不行,可以改下性别,还是可以玩的

0 0

已经修复了,腾讯也太不近人情了,略微有点官僚主义作风

2 5
支持者: 长安久乐 飘零风

我还没有玩呢?就修复bug了。唉!!!!!

查看更多

添加回答

登录 后回答问题,你也可以用以下帐号直接登录

相关问答

关于我们 加入果壳 媒体报道 帮助中心 果壳活动 家长监控 免责声明 联系我们 移动版 移动应用

©果壳网    京ICP证100430号    京网文[2018] 6282-492号    新出发京零字东150005号     京公网安备11010502007133号

违法和不良信息举报邮箱:jubao@guokr.com    举报电话:18612934101    网上有害信息举报专区    儿童色情信息举报专区