python之base64編碼出現b的問題(轉)


寫代碼過程中發現,用base64編碼后會帶有b,這會影響到請求結果,該如何清除b呢?

 

 下面來看一下實際的演示代碼:

import base64 before_base64 = 'abc'.encode() after_base64 = base64.b64encode(before_base64) print(after_base64)

 

運行結果如下:abc用base64編碼后應該是YWJj,但是實際上卻不只這些,這個b應該是用來區分base64編碼和字符串吧,所以如果想單純的使用base64編碼就得把多余的字符去掉。

b'YWJj'

下面列舉幾種解決辦法:

1. decode為utf-8編碼:

import base64 before_base64 = 'abc'.encode() after_base64 = base64.b64encode(before_base64) print(after_base64) right_base64 = after_base64.decode('utf-8') print(right_base64)

2. str轉化為utf-8編碼;

import base64 before_base64 = 'abc'.encode() after_base64 = base64.b64encode(before_base64) print(after_base64) right_base64 = str(after_base64, 'utf-8') print(right_base64)

3. decode為ASCII編碼

import base64 before_base64 = 'abc'.encode() after_base64 = base64.b64encode(before_base64) print(after_base64) right_base64 = str(after_base64, 'utf-8') print(right_base64)

運行結果都是;

b'YWJj' YWJj

這樣就可以獲得純凈的base64編碼了!

 

轉:https://zhuanlan.zhihu.com/p/180470369

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM