成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一篇文章徹底搞懂Base64編碼原理

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

 開始

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

[[271461]]

Base64是什么東東呢?

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

到底哪些地方會使用?

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

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

實(shí)現(xiàn)原理

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

Base64編碼將一個8位子節(jié)序列拆散為6位的片段,而且這每個6位的片段都會被分配一個字符,那這個是個什么字符呢?其實(shí)它是base64字母表中的64個字符之一,所以顧名思義base64了。而這64個字符可是有講究的,是選擇了最常用而且兼容性最好的64個字符。所以可以算出base64編碼后的字符串大約比編碼前大了33%,因?yàn)橛?位來表示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位的二進(jìn)制 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)化成二進(jìn)制的過程,而Base64的編碼則是從二進(jìn)制轉(zhuǎn)換為字符串。與常規(guī)恰恰相反,

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

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

責(zé)任編輯:武曉燕 來源: 今日頭條
相關(guān)推薦

2021-08-26 05:27:08

Base64 字節(jié)流算法

2017-07-20 16:55:56

Android事件響應(yīng)View源碼分析

2024-05-10 08:19:59

arthasjava字節(jié)碼

2024-06-25 08:18:55

2021-09-07 08:59:09

編碼Base64解碼

2020-06-03 11:06:26

DNS域名緩存

2013-04-15 10:59:08

iOS開發(fā)ARC版本說明

2025-03-07 08:24:10

Javavolatilecount++

2020-10-22 08:25:22

JavaScript運(yùn)作原理

2018-10-22 12:50:20

CDN網(wǎng)絡(luò)內(nèi)容發(fā)布網(wǎng)絡(luò)

2022-05-25 08:31:31

ArthasInstrument

2025-02-11 00:00:10

Base64編碼二進(jìn)制

2021-08-02 10:01:09

Iterator接口Java項(xiàng)目開發(fā)

2021-05-18 09:00:28

Pythonclass

2024-10-23 16:02:40

JavaScriptPromiserejection

2021-08-17 09:55:05

JavaScript MicrotaskPromise

2021-08-30 10:01:01

Map接口HashMap

2021-05-27 09:01:14

Python文件讀寫Python基礎(chǔ)

2021-03-08 09:15:46

日志Filebeat運(yùn)維

2023-11-01 15:52:35

點(diǎn)贊
收藏

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

主站蜘蛛池模板: 一区二区三区免费 | 欧美a∨| 国产美女在线看 | www.国产.com | 免费在线一区二区三区 | 成人性视频免费网站 | 国产精品久久久久久婷婷天堂 | 99免费精品视频 | 欧美日韩视频在线第一区 | 日本激情视频网 | 一区二区免费在线观看 | 国产91色在线 | 亚洲 | 欧美三区 | 国产精品乱码一区二区三区 | 亚洲视频一区在线观看 | 国产精品特级毛片一区二区三区 | av在线免费观看网址 | 欧洲高清转码区一二区 | 狠狠入ady亚洲精品经典电影 | 奇米影视首页 | 伊人久久在线观看 | 99久久精品免费看国产免费软件 | 韩国精品一区 | 欧美一级片在线看 | 久久日韩精品一区二区三区 | 色视频网站在线观看 | 97精品视频在线观看 | 亚洲高清免费视频 | 日韩视频免费看 | 日韩三级在线观看 | 狠狠综合久久av一区二区小说 | 一区二区三区四区免费观看 | 在线一区观看 | 一区二区三区精品视频 | 久久久久久精 | 国产精品美女www爽爽爽 | 九七午夜剧场福利写真 | 亚洲人成人一区二区在线观看 | 男女视频网站 | 亚洲精品9999 | 国产免费又黄又爽又刺激蜜月al |