波多野结衣在线无码播放,国产精品99爱免费视频,国产 av 一区二区三区,黄色av中文字幕每天更新

網(wǎng)絡消費網(wǎng) >  科技 > > 正文
全球速遞!一個熱搜兩幅面孔,娛樂圈的“高仿熱搜”是咋騙你的?
時間:2022-07-26 17:10:48

表面一套背地一套的不止“陰陽合同”,最近,娛樂圈又出現(xiàn)了新的“陰陽話題”。


【資料圖】

幾天前,#易烊千璽決定放棄入職國話#話題沖上微博熱搜,但是隨后有網(wǎng)友發(fā)現(xiàn),明明是一模一樣的字,自己手動打出來的和上熱搜的竟然不是同一個話題。

你是不是也被這段話搞懵了?

別懷疑,這不是“李逵”和“李鬼”的差別,在微博的默認字體下這兩個話題一模一樣,根本無法用肉眼辨認。但是在安卓系統(tǒng)下把默認字體換掉之后,就能看出熱搜話題的“入”字不對勁。也有網(wǎng)友稱,把兩個“入”復制在新華字典APP里,熱搜話題的“入”查不到,手動打出的則能正常查到。

為什么會出現(xiàn)這種情況?

用python讀取字符代碼之后,可以看到熱搜里的“入”并不是中文常用字里的“入”(U+5165),因此未被字體庫收錄,連宋體、楷體、黑體等常見字體都沒有收錄這個字符,無論字體怎么變化,它永遠停留在微軟雅黑字體上。它也不是此前大家猜測的日文字,它的真身是康熙字典里的偏旁“入”(U+2F0A)

上圖為康熙字典偏旁“入”,下圖為漢字“入”|Unicode官方

陰陽話題瞞天過海、一套系統(tǒng)里有兩個長相一致的真假“入”字……這些事在互聯(lián)網(wǎng)的歷史上其實不新鮮,用長相相似的字符騙用戶上鉤本身就是騙子們的壓箱底技能。

防不勝防的高仿賬號

難以區(qū)分的不只有“?(U+2F0A)”和“入(U+5165)”。打開Unicode官網(wǎng),單在康熙部首的部分,容易和漢字混淆的字符就有一整頁。

除此之外,還有很多存在于不同編碼區(qū)的形近字。比如韓國地區(qū)的一些多音字,在編碼時與原有的字集是分開的,Unicode甚至推出了一個中日韓兼容表意文字來囊括這些特例。

看上去和中文是同一個字,其實編碼完全不同

這個編碼方式兼顧了各種語言使用者的習慣,但帶來的問題也顯而易見:在電腦眼里,只要編碼不同,系統(tǒng)就會認為是兩個完全不一樣的字,而在人類使用者看來,這些字符的外觀完全相同。

這么大的漏洞,騙子當然不會白白放過。一種名叫同形異義詞攻擊(IDN homograph attack)的網(wǎng)絡攻擊方法因此而生。早期的騙子通過用0代替O、用1代替l之類的手法來迷惑用戶,而升級版的Unicode同型字符換用則直接讓人“瞎眼”。

比如,B站上其實有兩個“老師好我叫何同學”,其中假何同學的名字中,“老師好”的“老(U+F934)”使用的是中日韓兼容表意文字中的編碼

左:老(U+8001)師好我叫何同學,右:老(U+F934)師好我叫何同學。

B站上的“真假”何同學,這堪稱像素級的高仿號,人眼怎么可能認出來??!| Bilibili

不只漢字遇到了這種問題,字母世界里的高仿騙子更離譜。

2017年,一款高仿App出現(xiàn)在谷歌官方的應用商店里。它直接偽裝成了知名聊天軟件WhatsApp(相當于美國微信)。開發(fā)者在軟件名后面添加了一個不可見的Unicode字符,讓它看起來和正規(guī)軟件沒有區(qū)別。這個操作直接騙過了100多萬的用戶,讓它成為了最“成功”的惡意軟件之一。

網(wǎng)址也逃不過“有人模仿我的臉”。隨著國際化域名開放使用Unicode,你看到的“英文”也可能不是英文了!比如www.арр?е.com這個網(wǎng)址,如果你復制到瀏覽器里,瀏覽器會告訴你……

這個看起來和蘋果官方網(wǎng)站一模一樣的網(wǎng)址,是計算機愛好者Xudong Zheng申請的。網(wǎng)址中的а(U+0430)不是英文字母,而是西里爾字母,只要點進去就會進入Xudong Zheng的“釣魚網(wǎng)站”。類似的

同形異義詞攻擊也常被用在垃圾郵件和病毒文件里。

“罪魁禍首”Unicode

然而,這么“不科學”的Unicode,已經(jīng)是人類現(xiàn)階段最通用、最好的字符解決方案。

要讓計算機理解人類的語言文字,就需要建立人類與計算機之間相互理解的橋梁,也就是說需要一種將字符轉(zhuǎn)換為數(shù)字的編碼方式。

上世紀60年代,在計算機誕生之初,美國人采用了一種編碼來表示英語以及各種符號。該編碼只有一個字節(jié),能表示256(2^8)個字符(8個二進制數(shù)),雖然只定義了128個字符,但已經(jīng)足夠涵蓋大小寫英文字母和一些常用符號,這就是大名鼎鼎的ASCII編碼。

1972年之前使用的ASCII編碼表,當時的電腦只認得這些字|wikipedia

然而隨著計算機技術的發(fā)展,單純的英文字符逐漸不夠用了。漢語、法語、日語等各種語言的需求增加,每種新語言都需要新的字符。于是每個國家也都紛紛著手創(chuàng)建自己的編碼方案,比如我國的GB 2312、GBK。

不同的國家和地區(qū)各自使用不同編碼的結(jié)果,就是計算機每次都要安裝不同的解碼軟件,一旦出現(xiàn)解碼錯誤,用戶就只能看到一堆亂碼。

一些讓人頭大的亂碼,網(wǎng)上沖浪夠久總能見到

這時候,一些國際組織開始擬定統(tǒng)一的字符編碼方案,為每種語言中的每個字符設定唯一的二進制編碼,以滿足跨語言、跨平臺進行文本轉(zhuǎn)換、處理的要求,Unicode就是這么誕生的。在這種語言環(huán)境下,不需要再對文件進行單獨解碼,同屏里可以顯示任何語言的內(nèi)容。

Unicode用數(shù)字0-0x10FFFF來映射這些字符,最多可以容納1114112個字符,或者說有1114112個碼位。碼位就是可以分配給字符的數(shù)字。UTF-8、UTF-16、UTF-32都是將數(shù)字轉(zhuǎn)換到程序數(shù)據(jù)的編碼方案。將字符轉(zhuǎn)換為數(shù)字、字符編碼可以簡單理解為,

將每個字符分配給一個數(shù)字

,例如:a = 65,A = 97。如果這個編碼是統(tǒng)一的,那全世界所有的計算機就都可以認識這些字符。

我們已經(jīng)給每個字符分配了一個唯一的編碼,那么如何使計算機認識這個編碼呢?由于計算機只懂得0、1這樣的二進制,最簡單的方式就是直接將編碼轉(zhuǎn)換成2進制,例如:It’s 果殼的Unicode編碼如下:

其對應的二進制為:

1991年Unicode發(fā)布之初,一共只支持7161個字符,雖然已經(jīng)比128個ASCII編碼多了不少,但仍然不足以滿足全球用戶的需求。在接下來的幾十年里Unicode不斷迭代,支持的語言更多,數(shù)量也激增至14萬個,其中不僅有緬甸文、藏文這樣經(jīng)常被我們拿來做表情包的字符,甚至還包括麻將、易經(jīng)卦象、多米諾骨牌牌面這樣的非語言符號。

在添加Unicode時,需要秉承“統(tǒng)一性(Unification)”的準入原則,即把不同語言的同一書寫系統(tǒng)(scripts)中相同的字符統(tǒng)一起來,因此中日韓文中相同的漢字的編碼是一致的。但與此同時,豐富的語言中也包含著大量的形近字,比如西里爾字母中的一些字符就和英文字母高度相似,真的沒什么好方法辨認,只能查看代碼。

西里爾字母表|wikipedia

借我借我一雙慧眼吧

雖然那英借來的慧眼不一定能幫上什么忙,但我們還是能用一些別的方法看破真相。

對于用Unicode渾水摸魚的“冒牌”網(wǎng)站,各家瀏覽器已經(jīng)開始將網(wǎng)址轉(zhuǎn)換為統(tǒng)一的Ponycode代碼進行顯示了。而且對于這種高仿網(wǎng)站,瀏覽器自身也有了相應的比對和審核方法,并及時提醒用戶可能存在的風險。

瀏覽器會將Unicode字符轉(zhuǎn)換為統(tǒng)一的編碼,在一定程度上抵抗釣魚網(wǎng)站

對于高仿賬號和頁面上顯示的文字,通過改變字體也可以快速找到貓膩。Unicode本身并不代表任何字體,最終文字的顯示效果和系統(tǒng)的呈現(xiàn)方式有很大關系。因此,有些字體只會顯示Unicode中的部分字符,那些沒有適配的文字就會顯得很不一樣。

字體改為楷體時,第二個老字明顯不一樣了

不過換字體這一招也不是百試百靈。目前有很多網(wǎng)站為了統(tǒng)一風格,會在代碼中指定顯示的字體,不受用戶改變自己系統(tǒng)字體的影響。所以遇到可疑的情況,最根本的方法還是得把文字復制下來,查詢Unicode編碼。

用python3可以很簡單地查到一個字符的Unicode編碼,如下面的代碼所示:

這段代碼可以通過四個步驟來進行:

環(huán)境準備。打開電腦自帶的Terminal,輸入python3+回車,即可進入python交互環(huán)境,就可以開始寫代碼啦。

變量賦值。將想要查詢的字符給到變量s,例如我們想查詢“老”這個字符的Unicode編碼,就輸入s = "老"。

Unicode編碼查詢。Python內(nèi)置的encode函數(shù)可以用來查詢Unicode碼,在encode函數(shù)的參數(shù)中輸入"unicode_escape",代表我們想要查詢的編碼類型是Unicode。輸入re = s.encode("unicode_escape"),就可以調(diào)取編碼。

最后輸入print(re),就可以看到字符的Unicode碼,對比任意兩個字符的編碼是否一致。

希望大家面對所謂的“陰陽熱搜”不再困惑,在Unicode騙局面前用技術工具保護自己!

關鍵詞: unicode

版權聲明:
    凡注明來網(wǎng)絡消費網(wǎng)的作品,版權均屬網(wǎng)絡消費網(wǎng)所有,未經(jīng)授權不得轉(zhuǎn)載、摘編或利用其它方式使用上述作品。已經(jīng)本網(wǎng)授權使用作品的,應在授權范圍內(nèi)使用,并注明"來源:網(wǎng)絡消費網(wǎng)"。違反上述聲明者,本網(wǎng)將追究其相關法律責任。
    除來源署名為網(wǎng)絡消費網(wǎng)稿件外,其他所轉(zhuǎn)載內(nèi)容之原創(chuàng)性、真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考并自行核實。
熱文

網(wǎng)站首頁 |網(wǎng)站簡介 | 關于我們 | 廣告業(yè)務 | 投稿信箱
 

Copyright © 2000-2020 www.sgycos.com All Rights Reserved.
 

中國網(wǎng)絡消費網(wǎng) 版權所有 未經(jīng)書面授權 不得復制或建立鏡像
 

聯(lián)系郵箱:920 891 263@qq.com

備案號:京ICP備2022016840號-15

營業(yè)執(zhí)照公示信息