Bir dosya okunurken aldığım bir bayt dizgisini bir dizeye dönüştürmenin mümkün olup olmadığını merak ediyorum (type(output) == str
). Şu ana kadar Google'da bulduğum her şey, python 2'de çalışacak gibi görünen How do you base-64 encode a PNG image for use in a data-uri in a CSS file? gibi yanıtlar olmuştur (eğer yanılmıyorsam, dizeler zaten bayt dizgileriydi) ama python'da çalışmıyor. 3.4 artık.Base64 kodlu dizeye byte dizgisi dönüştür (çıktı bir bayt dizgisi değil)
Ben normal dizeye bu sonuçlanan bayt dizesi dönüştürmek istediğiniz sebebi JSON nesnesi içinde saklamak için bu base64 ile kodlanmış veriyi kullanmak istediğiniz, ancak benzer bir hata almaya devam:
TypeError: b'Zm9v' is not JSON serializable
burada yanlış gittiği yerlerin az örnek:
import base64
import json
data = b'foo'
myObj = [base64.b64encode(data)]
json_str = json.dumps(myObj)
Yani benim soru: tip str
bir nesneye tip bytes
bu nesneyi dönüştürmek için bir yol yoktur hala base64-kodlama (böylece tutarken bu örnekte, ["Zm9v"]
olması sonucunu verir. Mümkün mü?
Ah işe yaramış gibi görünüyor. Çok teşekkürler! – Joeytje50