日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

本文原創(chuàng)作者:源理君

頭條號:底層軟件架構(gòu)

公眾號:技術(shù)原理君

開始

在互聯(lián)網(wǎng)中的每一刻,你可能都在享受著Base64帶來的便捷,但對于Base64的基礎(chǔ)原理又了解多少?今天這篇文章帶領(lǐng)大家了解一下Base64的底層實現(xiàn)。

base64是什么東東呢?

Base64編碼是網(wǎng)絡(luò)上常見的用于傳輸8bit字節(jié)數(shù)據(jù)的一種編碼方式之一,所以可以依據(jù)概括:它是一種編碼方式,記住它不是加密的方式,它沒有秘鑰的概念,任何人拿到數(shù)據(jù)都能解析出來。它只是一種編碼方式!!

到底哪些地方會使用?

我們在參數(shù)傳輸?shù)倪^程中肯定遇到過這樣一種情況:使用全英文的沒問題,但一旦涉及到中文就會出現(xiàn)亂碼情況。與此類似,網(wǎng)絡(luò)上傳輸?shù)淖址⒉蝗强纱蛴〉淖址热缍M制文件、圖片等。Base64的出現(xiàn)就是為了解決此問題,它是基于64個可打印的字符來表示二進制的數(shù)據(jù)的一種方法。

電子郵件剛問世的時候,只能傳輸英文,但后來隨著用戶的增加,中文、日文等文字的用戶也有需求,但這些字符并不能被服務(wù)器或網(wǎng)關(guān)有效處理,因此Base64就登場了。隨之,Base64在URL、Cookie、網(wǎng)頁傳輸少量二進制文件中也有相應(yīng)的使用。

實現(xiàn)原理

它的來龍去脈我們是知道了,但它的原理我們還不知道,那下面我們就來徹底搞懂它。

Base64編碼將一個8位子節(jié)序列拆散為6位的片段,而且這每個6位的片段都會被分配一個字符,那這個是個什么字符呢?其實它是base64字母表中的64個字符之一,所以顧名思義base64了。而這64個字符可是有講究的,是選擇了最常用而且兼容性最好的64個字符。所以可以算出base64編碼后的字符串大約比編碼前大了33%,因為用8位來表示6位。下面的詳細(xì)的例子,大家來感受下。

Base64還有幾個規(guī)則如下:

①.3字符變?yōu)?字符。

②每76個字符增加一個換行符。

③.結(jié)束符也要編碼。

例子

加入編碼前的數(shù)據(jù)是“Ow!”,那編碼之后是4個字符的base64編碼值“T3ch”。下面是具體的轉(zhuǎn)換過程。

  • 1, 字符串"Ow!"被拆分成3個8位的字節(jié)(0x4F、0x77、0x21)。看下圖:
一篇文章徹底搞懂base64編碼原理

 

  • 2, 這3字節(jié)構(gòu)成了一個24位的二進制 01001111 ,01110111 ,00100001。看下圖:
一篇文章徹底搞懂base64編碼原理

 

  • 3, 這些為被劃分為一些6位的序列010011、110111、011100、1000001。看下圖:
一篇文章徹底搞懂base64編碼原理

 

  • 4, 每6位值都表示了從0~63數(shù)值,在base64字母表中的都有對應(yīng)的字符。所以查表轉(zhuǎn)換得出是4字符的字符串“T3ch”。如下圖所示轉(zhuǎn)換表。
一篇文章徹底搞懂base64編碼原理

 

整個過程就over了,就是這么簡單,大家理解了嗎?

總結(jié)

大多數(shù)編碼都是由字符串轉(zhuǎn)化成二進制的過程,而Base64的編碼則是從二進制轉(zhuǎn)換為字符串。與常規(guī)恰恰相反,

Base64編碼主要用在傳輸、存儲、表示二進制領(lǐng)域,不能算得上加密,只是無法直接看到明文。也可以通過打亂Base64編碼來進行加密。

中文有多種編碼(比如:utf-8、gb2312、gbk等),不同編碼對應(yīng)Base64編碼結(jié)果都不一樣。

分享到:
標(biāo)簽:編碼
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運動步數(shù)有氧達(dá)人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定