小编Per*_*ero的帖子

“类型错误:字节类型的对象不是 JSON 可序列化的”

尝试在 JSON 文件中转储字典给了我错误“TypeError: a bytes-like object is required, not 'str'”

我已经尝试删除“encrypt_string”函数的字节转换部分,但它给了我错误“TypeError: a bytes-like object is required, not 'str'”

#!/usr/bin/python3

# Imports
import json
import base64
from cryptography.fernet import Fernet

# Save
def encrypt_string(string, f):
    return str(f.encrypt(base64.b64encode(bytes(string,'utf-8'))).decode('utf-8'))

def encrypt_dict(dict):
    fk = Fernet.generate_key().decode('utf-8')
    f = Fernet(fk)
    ed = {}
    ed['fk'] = base64.b64encode(bytes(fk, 'utf-8'))
    for key, value in dict.items():
        ekey = encrypt_string(key, f)
        evalue = encrypt_string(value, f)
        ed[ekey[::-1]] = evalue[::-1]
    return ed

def save_game(slot, savename):
    print("Saving file...")
    path = 'saves/savegame{0}.json'.format(slot)
    data = { …
Run Code Online (Sandbox Code Playgroud)

python encoding byte json python-3.x

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

byte ×1

encoding ×1

json ×1

python ×1

python-3.x ×1