Mi chiedevo se è possibile convertire una stringa di byte che ho ottenuto leggendo un file in una stringa (quindi type(output) == str
). Tutto quello che ho trovato su Google finora è stato risposte come How do you base-64 encode a PNG image for use in a data-uri in a CSS file?, che sembra funzionare in python 2 (dove, se non sbaglio, le stringhe erano comunque stringhe di byte), ma che non funziona in python 3.4 più.Converti stringa di byte in stringa codificata in base64 (l'output non è una stringa di byte)
Il motivo che voglio convertire questa stringa di byte risultante in una stringa normale è che voglio utilizzare questi dati codificati in base 64 per memorizzare in un oggetto JSON, ma io continuo a ricevere un errore simile a:
TypeError: b'Zm9v' is not JSON serializable
Ecco un esempio minimo di dove va storto:
import base64
import json
data = b'foo'
myObj = [base64.b64encode(data)]
json_str = json.dumps(myObj)
quindi la mia domanda è: esiste un modo per convertire questo oggetto di tipo bytes
ad un oggetto di tipo str
pur mantenendo la Base64 codifica (così in questo esempio, voglio il risultato essere ["Zm9v"]
. È possibile?
Uno snap che sembra funzionare. Grazie mille! – Joeytje50