-3
与えられたキー:値(name = "My name is Bill")、Python 3では、キーをエンコードしようとしています(それは名前です)。 name.encodeなどの標準的なアプローチでは、コンテンツのエンコードが終了します。次のステップとしてバイトにエンコードする必要がありますキー値の文字列の値を与えられた場合、コンテンツではなくキーをエンコードする方法
与えられたキー:値(name = "My name is Bill")、Python 3では、キーをエンコードしようとしています(それは名前です)。 name.encodeなどの標準的なアプローチでは、コンテンツのエンコードが終了します。次のステップとしてバイトにエンコードする必要がありますキー値の文字列の値を与えられた場合、コンテンツではなくキーをエンコードする方法
#!/usr/bin/python
import codecs
def encoder(obj, scheme, orig_scheme):
# A function which will perform encoding and return encoded object
temp_obj = {}
for k in obj:
new_key = codecs.encode(bytes(k, orig_scheme), scheme).strip().decode(orig_scheme)
temp_obj[new_key] = obj[k]
return temp_obj
dict_usr_obj = {
"name": "Usr X",
"age": 23,
"gender": "Male"
}
encoded_obj = encoder(dict_usr_obj, "base64", "utf-8")
print (encoded_obj)
可変名をエンコードしようとしているようですね。まず第一に、なぜですか?次に、変数名をエンコードすると、別の変数名で終了するだけです。既存の変数名は変更しません。あなたはキーの変更について話しますが、キーは変数名ではなく、定義によって不変です。 – cdarke
この変数(キー)は値を保持し、これはテンソルに入ります。テンソルの構造体は、同じ名前を持つキーと値を使用します。今、キーはバイトにエンコードされなければなりません。そうでなければ、非互換性の問題があります。 – emeralddove