文字列がすでに「復号」され、このようなエラーを得続けるよう
これまでのところ私は、base64エンコードの一部を乗り越えるカントクラスには「復号」function.Thusを持っていない:
AttributeError: type object 'str' has no attribute 'decode'
あなたはバイト配列を復号化し、文字列の呼び出しにそれを有効にする場合:
the_thing.decode(encoding)
あなたは、文字列(バイト配列にそれを回す)コールエンコードしたい場合は、次の利回り上記のエンコーディングの値として「BASE64」を使用して :ベース64のものの面では
the_string.encode(encoding)
をエラー:以下で
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')
python-3にはUnicode文字列があるため、バイトデータ型が導入されました。文字列をbytearrayに変換する必要があります。エンコーディングに 'b = bytes(mystring、 'utf-8')'を使用し、次に 'b'をエンコーディングに使用して、' EncodedString = base64.b64encode(b) '、bytearray –