日本人妻久久中文字幕精品,黄色内裤逼里插着的好看,手机在线观看一级午夜片,日韩免费久久人妻一区网站

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

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


【資料圖】

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

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

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

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

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

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

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

防不勝防的高仿賬號

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

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

看上去和中文是同一個(gè)字,其實(shí)編碼完全不同

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

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

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

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

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

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

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

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

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

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

“罪魁禍?zhǔn)住盪nicode

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

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

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

1972年之前使用的ASCII編碼表,當(dāng)時(shí)的電腦只認(rèn)得這些字|wikipedia

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

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

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

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

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

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

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

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

其對應(yīng)的二進(jìn)制為:

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

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

西里爾字母表|wikipedia

借我借我一雙慧眼吧

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

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

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

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

字體改為楷體時(shí),第二個(gè)老字明顯不一樣了

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

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

這段代碼可以通過四個(gè)步驟來進(jìn)行:

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

變量賦值。將想要查詢的字符給到變量s,例如我們想查詢“老”這個(gè)字符的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碼,對比任意兩個(gè)字符的編碼是否一致。

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

關(guān)鍵詞: unicode

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

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

Copyright © 2000-2020 hngelin.com All Rights Reserved.
 

中國網(wǎng)絡(luò)消費(fèi)網(wǎng) 版權(quán)所有 未經(jīng)書面授權(quán) 不得復(fù)制或建立鏡像
 

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

備案號:京ICP備2022016840號-15

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

江都市| 保德县| 遵化市| 华安县| 光泽县| 南召县| 镇巴县| 莎车县| 旬邑县| 延庆县| 安丘市| 北京市| 盐亭县| 石林| 崇信县| 安阳市| 平利县| 青州市| 滕州市| 丁青县| 平安县| 江川县| 和政县| 洛南县| 麻城市| 西林县| 怀安县| 府谷县| 阳西县| 鸡东县| 富蕴县| 横山县| 武夷山市| 屏东市| 遂川县| 新源县| 阜阳市| 汝城县| 贡嘎县| 六盘水市| 武强县|