国产av一二三区|日本不卡动作网站|黄色天天久久影片|99草成人免费在线视频|AV三级片成人电影在线|成年人aV不卡免费播放|日韩无码成人一级片视频|人人看人人玩开心色AV|人妻系列在线观看|亚洲av无码一区二区三区在线播放

網(wǎng)易首頁 > 網(wǎng)易號 > 正文 申請入駐

谷歌把3字節(jié)變成4字符的算法,程序員用了30年還沒換

0
分享至


Base64編碼每天在互聯(lián)網(wǎng)上傳輸數(shù)十億次,卻極少有人停下來問:為什么偏偏是64個字符?為什么3字節(jié)非要拆成4個字符?這個1978年誕生的算法,至今仍在你的JWT令牌、郵件附件、CSS內(nèi)嵌圖片里默默運(yùn)轉(zhuǎn)。

本文用一組具體數(shù)字拆解它的工作原理,以及開發(fā)者最常踩的5個坑。

從24比特到4個字符:一個刻意的設(shè)計

Base64的核心操作極其機(jī)械:每3字節(jié)(24比特)輸入,切成4個6比特組,每組映射到64個可打印字符之一。64個字符剛好是A-Z、a-z、0-9,加上+和/,再用=做補(bǔ)位填充。

這個設(shè)計的代價很明確:編碼后體積膨脹33%。3字節(jié)變4字符,沒有壓縮,沒有加密,只是為了讓二進(jìn)制數(shù)據(jù)能安全穿過只認(rèn)文本的系統(tǒng)——1980年代的電子郵件、HTTP頭、URL參數(shù)、JSON字段。

輸入"Man"的完整過程:二進(jìn)制是01001101 01100001 01101110,切成010011、010110、000101、101110四組,對應(yīng)Base64字符T、W、F、u。沒有魔法,只有位運(yùn)算。


5個真實使用場景,以及它們的隱藏成本

場景一:HTML/CSS內(nèi)嵌圖片。把小圖標(biāo)轉(zhuǎn)成Data URL可以省掉一次HTTP請求,但Base64字符串會讓圖片體積膨脹約33%。Google的PageSpeed Insights明確建議:超過2KB的圖片就別內(nèi)嵌了,省下的請求時間抵不上傳輸膨脹。

場景二:HTTP Basic認(rèn)證。Authorization頭里的Basic dXNlcjpwYXNzd29yZA==看著像加密,實則是user:password的明文轉(zhuǎn)碼。RFC 7617文檔強(qiáng)調(diào):沒有HTTPS時,這種編碼"不提供任何機(jī)密性保護(hù)"。

場景三:JWT令牌結(jié)構(gòu)。一個標(biāo)準(zhǔn)JWT是三段Base64url編碼用點號連接:頭部、載荷、簽名。中間那段payload解碼后就是JSON明文,包含用戶ID和權(quán)限。很多人誤以為JWT加密了數(shù)據(jù),其實它只是簽名防篡改,內(nèi)容對任何能拿到令牌的人都是透明的。

場景四:JSON傳二進(jìn)制文件。API返回PDF或圖片時,常見這種結(jié)構(gòu):

{ "filename": "invoice.pdf", "content": "JVBERi0xLjQKJeLjz9MKMSAwIG9iag..." }


content字段就是Base64編碼的文件內(nèi)容。這是MIME(多用途互聯(lián)網(wǎng)郵件擴(kuò)展)標(biāo)準(zhǔn)的遺產(chǎn),從1992年的電子郵件附件延續(xù)至今。

場景五:數(shù)據(jù)庫存二進(jìn)制。Redis字符串類型、部分NoSQL系統(tǒng)用Base64存證書或密鑰。代價是存儲空間和讀寫時的編解碼CPU開銷,但換來了跨系統(tǒng)文本傳輸?shù)募嫒菪浴?/p>

開發(fā)者最常踩的3個坑

坑一:把編碼當(dāng)加密。Base64的解碼不需要密鑰,瀏覽器控制臺輸入atob("dGVzdA==")就能還原。見過把用戶密碼Base64存數(shù)據(jù)庫的案例,這等于明文存儲。

坑二:URL安全版本混淆。標(biāo)準(zhǔn)Base64含+和/,在URL里會被轉(zhuǎn)義成%2B和%2F,增加長度。JWT用的是Base64url變體,把+換成-、/換成_、去掉=填充?;煊脙烧邥?dǎo)致簽名驗證失敗。

坑三:忽略體積膨脹。把1MB圖片Base64編碼塞進(jìn)JSON,實際傳輸1.33MB。移動端弱網(wǎng)環(huán)境下,這33%的額外流量可能直接拖垮體驗。

JavaScript和Python的調(diào)用方式足夠簡單:前者用btoa()/atob()或Buffer.from(str).toString('base64'),后者用base64.b64encode()。但工具順手不代表理解到位——知道什么時候不該用,比知道怎么用更重要。

這個48年前的算法至今沒有退役跡象。當(dāng)你下次復(fù)制一段JWT令牌到解碼網(wǎng)站時,不妨想想:如果當(dāng)年電子郵件系統(tǒng)能直接傳二進(jìn)制,我們今天會用什么?

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關(guān)推薦
熱點推薦
6歲男童被棄酒店半個月,媽媽終于現(xiàn)身!孩子緊緊抱住不愿松手,網(wǎng)友:這孩子懂事得讓人心疼

6歲男童被棄酒店半個月,媽媽終于現(xiàn)身!孩子緊緊抱住不愿松手,網(wǎng)友:這孩子懂事得讓人心疼

大風(fēng)新聞
2026-03-25 15:43:11
曝張雪峰倒下30分鐘后才被發(fā)現(xiàn),飲食習(xí)慣糟糕,一口氣吃8根雪糕

曝張雪峰倒下30分鐘后才被發(fā)現(xiàn),飲食習(xí)慣糟糕,一口氣吃8根雪糕

古希臘掌管松餅的神
2026-03-25 11:08:46
釋永信“開光”真相大白,過程不堪入目,易中天也有牽扯

釋永信“開光”真相大白,過程不堪入目,易中天也有牽扯

尋墨閣
2026-03-25 11:39:10
聯(lián)大通過決議 宣布奴隸制行為為最嚴(yán)重反人類罪

聯(lián)大通過決議 宣布奴隸制行為為最嚴(yán)重反人類罪

財聯(lián)社
2026-03-26 01:24:06
洛克希德·馬?。簩⒕_打擊導(dǎo)彈產(chǎn)量提升四倍

洛克希德·馬?。簩⒕_打擊導(dǎo)彈產(chǎn)量提升四倍

財聯(lián)社
2026-03-25 19:18:36
張雪峰不是張維為

張雪峰不是張維為

林中木白
2026-03-25 10:31:03
“史上最慘”的成都糖酒會,徹底撕開了白酒行業(yè)的遮羞布

“史上最慘”的成都糖酒會,徹底撕開了白酒行業(yè)的遮羞布

財經(jīng)早餐
2026-03-25 22:42:59
32.29萬起!全新一代A6L正式上市,華為乾崑智駕上車!

32.29萬起!全新一代A6L正式上市,華為乾崑智駕上車!

小南看車
2026-03-25 22:59:29
曝張雪峰3段婚姻都是閃婚,前妻緬懷滿是惋惜,瘋狂健身疑為備孕

曝張雪峰3段婚姻都是閃婚,前妻緬懷滿是惋惜,瘋狂健身疑為備孕

古希臘掌管松餅的神
2026-03-25 12:00:46
國產(chǎn)筆記本CPU偷梁換柱翻車!官方終于回應(yīng):生產(chǎn)失誤、全額退款

國產(chǎn)筆記本CPU偷梁換柱翻車!官方終于回應(yīng):生產(chǎn)失誤、全額退款

快科技
2026-03-25 10:14:04
信達(dá)證券所長被曝猥褻女員工,撫摸私密處,正臉照被扒,警方介入

信達(dá)證券所長被曝猥褻女員工,撫摸私密處,正臉照被扒,警方介入

180視角
2026-03-25 15:58:41
4個LV包都是假的!女子送檢后傻眼:全在專柜買的啊,最新回應(yīng)

4個LV包都是假的!女子送檢后傻眼:全在專柜買的啊,最新回應(yīng)

半島晨報
2026-03-25 15:30:03
張雪峰追悼會周六將在蘇州殯儀館舉行

張雪峰追悼會周六將在蘇州殯儀館舉行

界面新聞
2026-03-26 07:04:27
涉嫌非法入侵建筑物,強(qiáng)闖我駐日使館不法之徒被送檢

涉嫌非法入侵建筑物,強(qiáng)闖我駐日使館不法之徒被送檢

界面新聞
2026-03-26 08:45:06
美國15條,自己和自己簽的戰(zhàn)敗投降書!

美國15條,自己和自己簽的戰(zhàn)敗投降書!

勝研集
2026-03-25 14:36:53
以色列人哭了:這不是該發(fā)生在劣等民族身上的嗎?

以色列人哭了:這不是該發(fā)生在劣等民族身上的嗎?

李榮茂
2026-03-23 18:59:00
伊朗伊斯蘭革命衛(wèi)隊稱擊落一架美軍F-18戰(zhàn)機(jī)

伊朗伊斯蘭革命衛(wèi)隊稱擊落一架美軍F-18戰(zhàn)機(jī)

環(huán)球網(wǎng)資訊
2026-03-26 06:37:05
4月1日醫(yī)保7號令落地!1965-1985年出生的,這6件事務(wù)必抓緊辦

4月1日醫(yī)保7號令落地!1965-1985年出生的,這6件事務(wù)必抓緊辦

混沌錄
2026-03-25 15:50:11
張雪峰離世!北京蘇州房產(chǎn)不在名下,1400名員工等安撫,好友停工

張雪峰離世!北京蘇州房產(chǎn)不在名下,1400名員工等安撫,好友停工

阿纂看事
2026-03-25 21:31:59
退役體操冠軍,直播“擦邊”之后

退役體操冠軍,直播“擦邊”之后

中國新聞周刊
2026-03-25 21:34:08
2026-03-26 08:55:00
Ping值焦慮
Ping值焦慮
有態(tài)度網(wǎng)友ytd
43文章數(shù) 0關(guān)注度
往期回顧 全部

科技要聞

硅谷因AI大裁員?一線工程師戳破真相

頭條要聞

"10元手沖咖啡"阿姨曾1天賣1000杯 如今只賣兩三杯

頭條要聞

"10元手沖咖啡"阿姨曾1天賣1000杯 如今只賣兩三杯

體育要聞

35歲替補(bǔ)門將,憑什么入選英格蘭隊?

娛樂要聞

張雪峰遺產(chǎn)分割復(fù)雜!是否立遺囑成關(guān)鍵

財經(jīng)要聞

黃仁勛:芯片公司的時代已經(jīng)結(jié)束了

汽車要聞

智己LS8放大招 30萬內(nèi)8系旗艦+全線控底盤秀實力

態(tài)度原創(chuàng)

游戲
旅游
本地
房產(chǎn)
公開課

啊?GameStop推叛逃套餐:用PS5換Xbox 倒貼你69刀

旅游要聞

秦嶺子午峪的“霸氣”游客,你的底氣從何而來?

本地新聞

來永泰同安 赴一場春天的約會

房產(chǎn)要聞

41億!259畝!建學(xué)?!齺嗊@個大城更,最新方案曝光!

公開課

李玫瑾:為什么性格比能力更重要?

無障礙瀏覽 進(jìn)入關(guān)懷版