一、Base64 簡介
base64是網絡上最常見的用於傳輸8Bit字節代碼的編碼方式之一,大家可以查看RFC2045~RFC2049,上面有完整的定義。Base64編碼可用於在HTTP環境下傳遞較長的標識信息。例如,在Java Persistence系統Hibernate中,就採用了Base64來將一個較長的唯一標識(一般為128-bit的UUID)編碼為一個字符串以便傳輸。
二、文件轉換為 Base64
如何將文件轉換為Base64格式呢?
import base64 def file_to_base64(filepath): with open(filepath, 'rb') as file: base64_data = base64.b64encode(file.read()) return base64_data.decode('utf-8')
上述代碼使用了Python自帶的base64庫,以二進制模式讀取文件並轉換為base64格式。其中,decode(‘utf-8’)是為了將byte類型轉換為string類型。
三、Base64 轉換為文件
如何將Base64格式的文件轉換為文件呢?
import base64 def base64_to_file(base64_data, filepath): with open(filepath, 'wb') as file: file.write(base64.b64decode(base64_data))
上述代碼使用了Python自帶的base64庫,將Base64格式的文件解碼為二進制流,並寫入到指定的文件中。
四、Base64 轉換為 Image
如何將Base64格式的圖片轉換為Image對象呢?
from PIL import Image import io import base64 def base64_to_image(base64_data): image_data = base64.b64decode(base64_data) image = Image.open(io.BytesIO(image_data)) return image
上述代碼使用了Python的PIL庫將Base64格式的圖片轉換為Image對象。注意,需要將二進制流轉換為io流,然後再用Image.open打開。
五、總結
本文介紹了文件流轉Base64的主要實現方式,包括文件轉Base64,Base64轉文件以及Base64轉Image。在實際開發中,這些功能經常被用來實現圖片上傳、表單數據提交等功能,對於Web開發來說非常重要。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/227353.html