文字列はすでに「デコード」されているため、str クラスには「デコード」機能がありません。
AttributeError: type object 'str' has no attribute 'decode'
バイト配列をデコードして文字列呼び出しに変換する場合:
the_thing.decode(encoding)
文字列をエンコードする (バイト配列に変換する) 場合は、次のように呼び出します。
the_string.encode(encoding)
base 64 に関しては、上記のエンコードの値として「base64」を使用すると、次のエラーが発生します。
LookupError: unknown encoding: base64
コンソールを開き、次のように入力します。
import base64
help(base64)
base64 には、b64decode と b64encode という 2 つの非常に便利な関数があることがわかります。b64 デコードはバイト配列を返し、b64encode はバイト配列を必要とします。
文字列を base64 表現に変換するには、まずバイトに変換する必要があります。私はutf-8が好きですが、必要なエンコーディングを使用します...
import base64
def stringToBase64(s):
return base64.b64encode(s.encode('utf-8'))
def base64ToString(b):
return base64.b64decode(b).decode('utf-8')