最近微博上面非常熱的就是微信好友撤回一條消息并摸了你的小臉 這是啥黑科技呢?一起跟著東坡小編來了解一下是怎么樣生成的、又有怎么樣的原理吧!
微信好友撤回一條消息并摸了你的小臉 這是啥黑科技
玩high了!你可能注意到微信群里有人撤回了一條消息,但是撤回的提示好像有哪里不對…
很多人都玩得不亦樂乎,甚至馬上就有教程和生成器流了出來。
然而這其實(shí)并不是微信更新的一個(gè)新功能,于是當(dāng)大家玩得正開心的時(shí)候,微信以迅雷不及掩耳盜鈴之勢把這個(gè)Bug修復(fù)了(不過之前修改過的依然可以這樣玩)。
我知道你意猶未盡還有些好奇,為什么可以這么玩,又是怎樣的一個(gè)原理呢?朋友圈有機(jī)智的小伙伴給出了這樣的解釋,我知道你看不懂,我們通俗的解釋一下。
我們平時(shí)在手機(jī)上打出來的字并不是你們簡單看到的字,而是由一堆編碼組成的。這個(gè)編碼非常容易被篡改,所以當(dāng)你修改了編碼,呈現(xiàn)出來好像字沒變,但實(shí)際上最終展示的順序就會發(fā)生變化。所以你會在聊天主頁面看見經(jīng)過這樣設(shè)置的人發(fā)的消息都是反過來的,因?yàn)樗尤胩厥庾址蟊緛沓尸F(xiàn)出來的就是反的。但是通知欄推送和主界面下這些就是原始的順序,到聊天界面就會經(jīng)過編碼,呈現(xiàn)出正常的順序。
當(dāng)我們撤回一條消息的時(shí)候,按照規(guī)則就會獲取已經(jīng)被做了手腳的文字中的姓名了,但你又會疑惑,為何會有XX撤回一條消息并XXX這樣被分開呢,如果只是單純反過來展示文字。其實(shí)很簡單,就是加了一個(gè)分隔符,把你的昵稱和增加的文字分開。讓昵稱正常顯示,讓增加的文字從右往左顯示。
電腦看到的過程是這樣的:
“小明”撤回了一條消息——>增加自定義文字了飯吃去后然,變成“小明”了飯吃去后然撤回了一條消息——>讓自定義的文字從右往左顯示,于是這些字就跑到了整句的最后面——>“小明”撤回了一條消息然后去吃飯了
但你可能會覺得為何微信要支持反著來?因?yàn)槲⑿攀且粋(gè)國際化的產(chǎn)品,支持阿拉伯語,而阿拉伯語是從右往左讀的。為了兼容這種閱讀習(xí)慣,微信便支持這種轉(zhuǎn)換的字符。所以微信只要禁止昵稱修改使用這個(gè)讓文字翻轉(zhuǎn)的字符就可以了。
那為什么之前沒人發(fā)現(xiàn),現(xiàn)在才有人玩?不,之前就可以玩,只是你不知道,而且還有很多種玩法。比如:
還有你們熟悉的瘦子的字體特別小的玩法…(縮小字符!)
這些都是利用了Unicode開發(fā)出來的各種玩法。如果你懂代碼還有創(chuàng)意,還可以開發(fā)出各種新的玩法來。