自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

1 分鐘帶你認識從 "?" 到 "錕斤拷"

開發(fā) 前端
在計算機的眼里,都是二進制,具體用哪些二進制數(shù)字表示哪個符號,這就是編碼。不要把編碼想象得太復(fù)雜,其實就是一個很簡單的 mapping。

 [[378294]]

? 為何物?

在前不久石頭哥的這篇文章中 —— 你可能也會掉進這個簡單的 String 的坑,講述了因字符編碼問題而連續(xù)踩坑的經(jīng)歷,文中有一個神奇的字符 “?”。

其實,這個 “?” 真是無處不在,比如大名鼎鼎的微信:

微信中的?

再比如,封面圖中,單價22元的“錕斤拷錕斤拷”,再隨便百度一把:

隨處可見的?

要弄清這個問題,還得先從編碼談起。

因為在計算機的眼里,都是二進制,具體用哪些二進制數(shù)字表示哪個符號,這就是編碼。不要把編碼想象得太復(fù)雜,其實就是一個很簡單的 mapping。

比如大家所熟知的 ASCII 編碼,規(guī)定了 二進制的0100 0001,也就是十進制的65,代表的含義就是大寫字母 A。

ASCII 編碼

? 也是一種編碼字符,就跟上面的 A 一樣一樣的,它是 UNICODE 編碼方式中的一個特殊的字符,也就是 0xFFFD(65533),語義是一個占位符,用來表達這套編碼系統(tǒng)中未知的,自己不認識的東西。

比如上篇文章中的實驗截圖的,紅色部分圈出來的對應(yīng)的字符,UTF-8 編碼都不認識,所以按照 UNICODE 的定義,我就只好用統(tǒng)一的一個占位符 —— 0xFFFD(65533) 來表示。

為什么會出現(xiàn)“錕斤拷”?

我們接著上篇的例子來看, 如下圖所示,仍然從 “程序猿石頭” 對應(yīng)二進制編碼截取部分:

如上圖所示,第 18 行的字節(jié)數(shù)組 new byte[] {-25, -119, -25, -116},UTF-8 恰好都不認識,因此只能用占位符替換。

??

這種情況,在編碼轉(zhuǎn)換過程中確實也比較常見,如果雙方?jīng)]溝通清楚,確實很容易出現(xiàn)互相不認識的情況。

在中文系統(tǒng)中,常見的字符編碼是 GBK,這個時候,因為大家沒提前商量清楚,我就默認按照 GBK 給你編碼看看。

“錕斤拷”在此

驚不驚喜意不意外……

其實是因為,? 用 UTF-8 編碼后變成了 0xEFBFBD(就是上面的字節(jié)數(shù)組 [-17, -65, -67]),兩個連起來就是 0xEFBFBDEFBFBD,也就是上面的字節(jié)數(shù)組[-17, -65, -67, -17, -65, -67]。

而 GBK 編碼依然采用雙字節(jié)編碼方案,因此上面的 6 字節(jié) 0xEFBFBDEFBFBD,就被拆成了 3 個 2 字節(jié)字符即 0xEFBF, 0xBDEF, 0xBFBD 對應(yīng) GBK 編碼里面就是:錕(0xEFBF),斤(0xBDEF),拷(0xBFBD)。

錕斤拷(可向右滑動)

現(xiàn)在,你知道了嗎?

留個作業(yè)題:開篇的五言絕句,你知道另外的梗是來自哪里嗎?

 

責任編輯:武曉燕 來源: 程序猿石頭
相關(guān)推薦

2021-10-18 08:41:06

錕斤拷ASCII編碼

2019-09-06 09:37:06

亂碼字符編碼Unicode

2022-11-03 11:31:43

結(jié)構(gòu)分析法監(jiān)測

2017-03-14 19:18:56

AndroidGradle實踐

2010-09-29 15:15:15

DHCP中繼

2022-05-09 08:35:43

面試產(chǎn)品互聯(lián)網(wǎng)

2021-08-03 09:07:39

GolangGrpc服務(wù)

2025-03-24 00:11:05

IO模型計算機

2016-11-28 16:23:23

戴爾

2015-11-23 17:34:33

秒借

2020-02-04 15:00:25

大白話認識JVM

2009-05-31 15:15:50

思科路由器模塊

2017-09-07 12:56:24

Linux系統(tǒng)結(jié)構(gòu)

2011-03-10 12:52:43

路由器

2021-03-10 09:52:38

開發(fā)技能架構(gòu)

2011-05-07 14:05:30

投影屏幕投影機

2023-04-17 18:50:03

2025-04-27 02:33:00

epoll核心機制服務(wù)器

2024-05-22 09:45:49

2017-04-11 09:38:11

點贊
收藏

51CTO技術(shù)棧公眾號