Ich frage mich, ob es möglich ist, eine Byte-Zeichenfolge, die ich aus dem Lesen einer Datei in eine Zeichenfolge (also type(output) == str
) erhalten habe. Alles, was ich bisher bei Google gefunden habe, sind Antworten wie How do you base-64 encode a PNG image for use in a data-uri in a CSS file?, was so aussieht, als würde es in Python 2 funktionieren (wobei, wenn ich mich nicht irre, Strings sowieso Byte-Strings waren), die aber in Python nicht funktionieren 3.4 mehr.Konvertieren von Byte-String in Base64-codierte Zeichenfolge (Ausgabe ist keine Byte-Zeichenfolge)
Der Grund, warum ich diesen resultierenden Byte-String in eine normalen Zeichenfolge konvertiert werden soll, ist, dass ich diese Base64-codierten Daten in einem JSON-Objekt zu speichern, verwenden möge, aber ich halte einen Fehler wie immer:
TypeError: b'Zm9v' is not JSON serializable
Hier ist ein minimales Beispiel, wo es schief geht:
import base64
import json
data = b'foo'
myObj = [base64.b64encode(data)]
json_str = json.dumps(myObj)
so ist meine Frage: gibt es eine Möglichkeit, dieses Objekt vom Typ bytes
auf ein Objekt vom Typ str
während immer noch die base64-Codierung (so halten zu konvertieren In diesem Beispiel möchte ich die Ergebnis zu sein ["Zm9v"]
. Ist das möglich?
Ah Snap, der aussieht wie es funktioniert. Vielen Dank! – Joeytje50