最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python base64圖片互轉(zhuǎn),解決base64字符串轉(zhuǎn)PIL圖片對象報錯:binascii.Error: Incorrect padding問題

 更新時間:2024年09月14日 12:39:42   作者:Python咕嚕  
在Base64編碼中,若字符串長度不是4的倍數(shù),需在末尾添加等號作為填充,不符合此規(guī)則會導(dǎo)致在轉(zhuǎn)換為圖片時出現(xiàn)binascii.Error:Incorrectpadding錯誤,正確的填充確保編碼后的字符串可以正確轉(zhuǎn)換成圖片,避免轉(zhuǎn)換錯誤

base64保存成圖片可能會出現(xiàn): binascii.Error: Incorrect padding

原因:

在Base64編碼中,字符串的長度應(yīng)該是4的倍數(shù),如果不是,則需要在末尾添加等號(‘=’)作為填充,以確保長度正確。

如果不是4的倍數(shù),則在轉(zhuǎn)化為圖片過程中會出現(xiàn) binascii.Error: Incorrect padding 的報錯

base64保存成圖片代碼

import base64
import binascii
import re


def base64_format(base64_str):
	# 移除Base64字符串的前綴
	base64_str = re.sub(r'data:image/.+?;base64,', '', base64_str)

	# 檢查長度并添加必要的填充 4的倍數(shù)
	if len(base64_str) % 4 != 0:
		num_padding = 4 - len(base64_str) % 4
		base64_str += '=' * num_padding

	try:
		# 解碼
		image_data = base64.b64decode(base64_str)
		return image_data  # 假設(shè)你只是想返回解碼后的數(shù)據(jù)

	except binascii.Error as e:
		print(f"Base64解碼錯誤: {e}")
		return None


def base64_to_images(base64_str, image_path):
	"""
    將base64字符串解碼為字節(jié),并保存圖片
    :param base64_str: base64字符串
    :param image_path: 保存圖片路徑
    :return:
    """

	image_data = base64_format(base64_str)
	png = open(image_path, 'wb+')
	png.write(image_data)
	png.close()

base64_str = 'data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QMqaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjUtYzAxNCA3OS4xNTE0ODEsIDIwMTMvMDMvMTMtMTI6MDk6MTUgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjA0Qjg0NzAxNUQ3QjExRUZBNkM3QkI1RTczMUVCNTgzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjA0Qjg0NzAwNUQ3QjExRUZBNkM3QkI1RTczMUVCNTgzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4N0U2RDIxNTVEN0ExMUVGQURDMjlGNkU0QzFDMDVEQiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo4N0U2RDIxNjVEN0ExMUVGQURDMjlGNkU0QzFDMDVEQiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pv/uAA5BZG9iZQBkwAAAAAH/2wCEAAYEBAQFBAYFBQYJBgUGCQsIBgYI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'
base64_to_images(base64_str, '1.png')

圖片轉(zhuǎn)base64

def images_to_base64(image_path):
    """
    將圖片轉(zhuǎn)成base64字節(jié)
    :param image_path: 圖片路徑
    :return:
    """
    with open(image_path, 'rb') as f:
        image_data = f.read()
        base64_str = base64.b64encode(image_data)
        print(base64_str)

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • OpenCV+python實現(xiàn)實時目標檢測功能

    OpenCV+python實現(xiàn)實時目標檢測功能

    這篇文章主要介紹了OpenCV+python實現(xiàn)實時目標檢測功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • Python?turtle編寫簡單的球類小游戲

    Python?turtle編寫簡單的球類小游戲

    turtle?(小海龜)?是?Python?內(nèi)置的一個繪圖模塊,其實它不僅可以用來繪圖,還可以制作簡單的小游戲。本文將利用Turtle制作一個簡單的球類小游戲,感興趣的可以學習一下
    2022-03-03
  • python plotly繪制直方圖實例詳解

    python plotly繪制直方圖實例詳解

    這篇文章主要介紹了python plotly繪制直方圖實例詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-07-07
  • Python3字符串學習教程

    Python3字符串學習教程

    這篇文章主要介紹了Python3字符串學習教程,是Python入門學習中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-08-08
  • python求解三角形第三邊長實例

    python求解三角形第三邊長實例

    這篇文章主要介紹了python求解三角形第三邊長實例,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • PyTorch 中mm和bmm函數(shù)的使用示例詳解

    PyTorch 中mm和bmm函數(shù)的使用示例詳解

    PyTorch中torch.mm用于二維矩陣乘法,torch.bmm處理批量矩陣乘法(三維張量),均不支持廣播,兩者適用于神經(jīng)網(wǎng)絡(luò)權(quán)重計算、點云變換等場景,區(qū)別在于維度要求和批量處理效率,本文給大家介紹PyTorch 中mm和bmm函數(shù)的使用,感興趣的朋友一起看看吧
    2025-06-06
  • Python Django view 兩種return的實現(xiàn)方式

    Python Django view 兩種return的實現(xiàn)方式

    這篇文章主要介紹了Python Django view 兩種return的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • 詳解Python中datetime庫的使用

    詳解Python中datetime庫的使用

    這篇文章主要介紹了Python中datetime庫的使用,它提供了一系列由簡單到復(fù)雜的時間處理方法。datetime 庫可以從系統(tǒng)中獲得時間,并以用戶選擇的格式輸出,需要的朋友可以參考下
    2023-04-04
  • 講解Python?中的?with?關(guān)鍵字

    講解Python?中的?with?關(guān)鍵字

    這篇文章主要介紹了講解Python?中的with關(guān)鍵字,文章基于python的相關(guān)資料展開?with?語句的一些基本概念和用法及其底層工作原理,下文更多內(nèi)容感興趣的小伙伴可以參考一下
    2022-05-05
  • python模擬鍵盤輸入 切換鍵盤布局過程解析

    python模擬鍵盤輸入 切換鍵盤布局過程解析

    這篇文章主要介紹了python模擬鍵盤輸入 切換鍵盤布局過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08

最新評論

凤台县| 久治县| 略阳县| 张家口市| 工布江达县| 赤水市| 上思县| 岫岩| 宜阳县| 临高县| 玉溪市| 黄大仙区| 新巴尔虎左旗| 咸丰县| 宾阳县| 额敏县| 宽城| 富顺县| 琼结县| 贵州省| 珠海市| 娄底市| 梅河口市| 永定县| 新河县| 郁南县| 敖汉旗| 横山县| 开鲁县| 内乡县| 凤庆县| 桐乡市| 黄平县| 盘锦市| 社会| 焦作市| 财经| 新和县| 突泉县| 中方县| 闸北区|