国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

python基礎(chǔ)-base64編碼理解

這篇具有很好參考價值的文章主要介紹了python基礎(chǔ)-base64編碼理解。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

1、base64是什么

2、base64有什么用

3、base64如何用

4、理解base64

5、擴(kuò)展

1、base64是什么

  • base64 就是包括字母a-z,A-Z,數(shù)字0-9,符號“+”,“/”一共64個字符的字符集;
  • 還有一個‘=’ 字符,占位補(bǔ)充;? ? ? ? ?--?這樣看實際是65個字符了,‘=’只是占位
  • ?任何數(shù)據(jù)都可以轉(zhuǎn)為字符集的字符,這個轉(zhuǎn)換過程就是base64編碼;
  • base64不能算是一種加密,只能說是編碼轉(zhuǎn)換!

擴(kuò)展點: 編碼給計算機(jī)看,解碼給人看。

簡單記:

base64編碼操作字節(jié),核心是3轉(zhuǎn)4字節(jié); ---base64是二次編碼的操作!

2、base64有什么用

  • base64沒有特殊字符,可以防止傳輸中因為協(xié)議的識別導(dǎo)致理解為控制字符而出錯;
  • 確保編碼的結(jié)果可打印且無歧義,不收到特殊字符的影響,例如‘\n’... ;

3、base64如何用

導(dǎo)入模塊:

?import base64?
方法 作用
base64.b64encode( 字節(jié)串 )

編碼;

返回 :?byte類型的字節(jié)串

base64.b64decode(字節(jié)串 / 字符串)

解碼;

返回 :?byte類型的字節(jié)串

示例:編碼和解碼

import base64
# 編碼過程 兩次:base64編碼 --->字節(jié)串 ----> utf-8解碼顯示為字符串
s = "我是一個字符串"
encoder = base64.b64encode(s.encode("utf-8"))
print(type(encoder))              # <class 'bytes'>
# 編碼后轉(zhuǎn)為字符串顯示
print( encoder.decode('utf-8'))   # str類型 5oiR5piv5LiA5Liq5a2X56ym5Liy
# 解碼過程 兩次:base64解碼 --->字節(jié)串 --->utf-8解碼顯示為字符串
decoder = base64.b64decode(encoder)
print(type(decoder))              # <class 'bytes'>
#解碼后轉(zhuǎn)為字符串顯示
print('解碼后:',decoder.decode()) # 我是一個字符串

????????示例二:簡化書寫:

import base64

# 默認(rèn)編碼utf-8
s = '山高路遠(yuǎn),道阻且長。心向往之,行必能至。'
sEncode = base64.b64encode(s.encode()).decode()
print('編碼后的字符串:',sEncode)
# 5bGx6auY6Lev6L+c77yM6YGT6Zi75LiU6ZW/44CC5b+D5ZCR5b6A5LmL77yM6KGM5b+F6IO96Iez44CC
# 解碼:
sDecode = base64.b64decode(sEncode).decode()
print('解碼后的字符串',sDecode)
# 山高路遠(yuǎn),道阻且長。心向往之,行必能至。

4、理解base64

核心點 :3個字節(jié)轉(zhuǎn)為4個字節(jié);? ? ? ?2的6次方 = 64

  • 計算機(jī)默認(rèn)一個字節(jié)是8位,base64編碼是6位編碼,這樣最小公倍數(shù)是24;
  • 編碼過程是:取三個字節(jié)分為四組,每組前面補(bǔ)0,湊夠8位;? ---所以串長度增加1/3;
  • 高位統(tǒng)一補(bǔ)00,低位不足6位,后面低位也補(bǔ)0;

注意點:

????????Base64是把3個字節(jié)變?yōu)?個字節(jié),所以,Base64編碼的長度永遠(yuǎn)是4的倍數(shù),因此,需要加上=把Base64字符串的長度變?yōu)?的倍數(shù),就可以正常解碼了。

理解下圖 :? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

python基礎(chǔ)-base64編碼理解,python-基礎(chǔ),python-爬蟲,python,開發(fā)語言文章來源地址http://www.zghlxwxcb.cn/news/detail-806632.html

5、擴(kuò)展

  • base64編碼串一定是4的倍數(shù),如果不足4的倍數(shù),需要添加‘=’補(bǔ)充;
  • 補(bǔ)充 = 的一個方式:?s64 += ("=" * (4 - len(s64) % 4))
s64 = "eW91eQ" #base64的字符串
# ret = base64.b64decode(s64)
# print(ret)
s64 += ("=" * (4 - len(s64) % 4))
print("填充后", s)
ret = base64.b64decode(s64).decode()
print(ret)

到了這里,關(guān)于python基礎(chǔ)-base64編碼理解的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • base64編碼:js實現(xiàn)base64編碼的3種方式,多場景下分析使用

    js實現(xiàn)base64編碼,前端一般應(yīng)用場景在與后端接口參數(shù)中體現(xiàn),后端可能需要某個字段是base64編碼的字符,這時候就需要用前端的方法進(jìn)行轉(zhuǎn)換,再作為參數(shù)傳遞到服務(wù)端。 js實現(xiàn)base64編碼的3種方式 1. 使用base64.js進(jìn)行轉(zhuǎn)換 獲取base64.js,可以直接搜索base64.js下載。推薦使用n

    2024年02月16日
    瀏覽(18)
  • URL編碼和Base64編碼

    數(shù)據(jù)操作過程中,經(jīng)常涉及到編碼與解碼等相關(guān)操作,如web請求時會對 url進(jìn)行編碼 ,其中的中文等字符會轉(zhuǎn)義為其他內(nèi)容;中文字符串?dāng)?shù)據(jù)傳輸時,會將其使用 base64編碼 并在接收后解碼,以避免亂碼的出現(xiàn)。 URLDecoder 和 URLEncoder 用于普通字符串 和 application/x-www-form-urlenco

    2024年02月02日
    瀏覽(34)
  • MIME Base64編碼

    Base64是一種用于將二進(jìn)制數(shù)據(jù)編碼成可打印ASCII字符的編碼方式。它由64個字符組成,包括A-Z、a-z、0-9以及+和/。它的編碼規(guī)則非常簡單:將3個字節(jié)的二進(jìn)制數(shù)據(jù)(共24位)分成4組,每組6位,然后將這4組6位的值轉(zhuǎn)換成一個可打印ASCII字符。 MIME Base64是Base64的一種變體,它是

    2023年04月25日
    瀏覽(30)
  • 深入了解圖片Base64編碼

    深入了解圖片Base64編碼

    title: 深入了解圖片Base64編碼 date: 2024/4/8 10:03:22 updated: 2024/4/8 10:03:22 tags: Base64編碼 圖片轉(zhuǎn)換 HTTP請求 前端開發(fā) 移動應(yīng)用 性能優(yōu)化 圖片壓縮 Base64編碼是一種將二進(jìn)制數(shù)據(jù)轉(zhuǎn)換為文本字符串的編碼方式,通過將數(shù)據(jù)轉(zhuǎn)換為一種可打印的ASCII字符集,以便在文本協(xié)議中傳輸。對圖

    2024年04月08日
    瀏覽(51)
  • Base64編碼的全面介紹

    Base64編碼的全面介紹

    1. Base64的定義和作用 Base64是一種用64個字符表示二進(jìn)制數(shù)據(jù)的編碼方式,通常用于在網(wǎng)絡(luò)傳輸中將二進(jìn)制數(shù)據(jù)轉(zhuǎn)換為可打印字符的形式。Base64編碼后的數(shù)據(jù)由大小寫字母、數(shù)字和特殊字符組成,可以安全地在文本協(xié)議中傳輸,同時保留數(shù)據(jù)的完整性。 Base64編碼解碼 | 一個覆蓋

    2024年04月08日
    瀏覽(20)
  • 前端實現(xiàn)base64編碼處理

    文件上傳時,因為base64文件字符串過長后端接收失敗的問題。 提示:以下是本篇文章正文內(nèi)容,下面案例可供參考 Base64是一種用于將二進(jìn)制數(shù)據(jù)轉(zhuǎn)換為ASCII字符集中可打印字符的編碼方法。它通常用于在不同系統(tǒng)之間傳輸二進(jìn)制數(shù)據(jù),因為許多系統(tǒng)只支持文本數(shù)據(jù)的傳輸。 代

    2024年02月12日
    瀏覽(39)
  • js的Base64編碼

    js的Base64編碼

    一、內(nèi)置函數(shù) 內(nèi)置函數(shù):btoa 內(nèi)置函數(shù):atob 二、借助第三方庫實現(xiàn),例如CryptoJS //自己編寫一套Base64編碼和解碼算法

    2024年02月10日
    瀏覽(18)
  • 將文件base64編碼后傳輸

    2024年02月07日
    瀏覽(21)
  • JS Base64編碼和解碼

    Base64 是一種編碼方式,可以將任意字符(包括二進(jìn)制字符流)轉(zhuǎn)成可打印字符。JavaScript 定義了兩個與 Base64 相關(guān)的全局方法。 btoa():字符串或二進(jìn)制值轉(zhuǎn)為 Base64 編碼。 atob():把 Base64 編碼轉(zhuǎn)為原來的字符。 Base64 方法不能夠操作非 ASCII 字符。 示例 要將非 ASCII 碼字符轉(zhuǎn)為

    2024年02月16日
    瀏覽(19)
  • Java 8 - Base64-編碼轉(zhuǎn)換

    在 Java 8 中,提供了 java.util.Base64 類來進(jìn)行 Base64 編碼和解碼操作。 在上述示例中,首先將字符串 “Hello, World!” 轉(zhuǎn)換為字節(jié)數(shù)組,然后使用 Base64.getEncoder() 獲取編碼器并調(diào)用 encodeToString() 方法對字節(jié)數(shù)組進(jìn)行編碼,得到編碼后的字符串。然后,使用 Base64.getDecoder() 獲取解碼

    2024年02月14日
    瀏覽(18)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包