在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Python/ Base64
基礎(chǔ)
itertools
HTTP 服務(wù)
hashlib
閉包
文件和目錄
單元測試
使用 @property
標(biāo)準(zhǔn)模塊
陌生的 metaclass
Base64
進(jìn)程、線程和協(xié)程
讀寫二進(jìn)制文件
匿名函數(shù)
輸入和輸出
Click
元組
字符編碼
partial 函數(shù)
參考資料
collections
協(xié)程
類和實例
Python 之旅
定制類和魔法方法
常用數(shù)據(jù)類型
繼承和多態(tài)
ThreadLocal
HTTP 協(xié)議簡介
Requests 庫的使用
讀寫文本文件
列表
os 模塊
迭代器 (Iterator)
正則表達(dá)式
集合
上下文管理器
異常處理
你不知道的 super
定義函數(shù)
datetime
資源推薦
字典
slots 魔法
hmac
第三方模塊
進(jìn)程
類方法和靜態(tài)方法
函數(shù)參數(shù)
高階函數(shù)
函數(shù)
re 模塊
高級特性
線程
argparse
生成器
結(jié)束語
字符串
map/reduce/filter
函數(shù)式編程
Celery
裝飾器

Base64

Base64,簡單地講,就是用 64 個字符來表示二進(jìn)制數(shù)據(jù)的方法。這 64 個字符包含小寫字母 a-z、大寫字母 A-Z、數(shù)字 0-9 以及符號"+"、"/",其實還有一個 "=" 作為后綴用途,所以實際上有 65 個字符。

本文主要介紹如何使用 Python 進(jìn)行 Base64 編碼和解碼,關(guān)于 Base64 編碼轉(zhuǎn)換的規(guī)則可以參考 Base64 筆記

Python 內(nèi)置了一個用于 Base64 編解碼的庫:base64

  • 編碼使用 base64.b64encode()
  • 解碼使用 base64.b64decode()

下面,我們介紹文本和圖片的 Base64 編解碼。

對文本進(jìn)行 Base64 編碼和解碼

>>> import base64
>>> str = 'hello world'
>>>
>>> base64_str = base64.b64encode(str)       # 編碼
>>> print base64_str
aGVsbG8gd29ybGQ=
>>>
>>> ori_str = base64.b64decode(base64_str)   # 解碼
>>> print ori_str
hello world

對圖片進(jìn)行 Base64 編碼和解碼

def convert_image():
    # 原始圖片 ==> base64 編碼
    with open('/path/to/alpha.png', 'r') as fin:
        image_data = fin.read()
        base64_data = base64.b64encode(image_data)

        fout = open('/path/to/base64_content.txt', 'w')
        fout.write(base64_data)
        fout.close()

    # base64 編碼 ==> 原始圖片
    with open('/path/to/base64_content.txt', 'r') as fin:
        base64_data = fin.read()
        ori_image_data = base64.b64decode(base64_data)

        fout = open('/path/to/beta.png', 'wb'):
        fout.write(ori_image_data)
        fout.close()

小結(jié)

  • Base64 可以將任意二進(jìn)制數(shù)據(jù)編碼到文本字符串,常用于在 URL、Cookie 和網(wǎng)頁中傳輸少量二進(jìn)制數(shù)據(jù)。

參考資料

上一篇:使用 @property下一篇:map/reduce/filter