2016-11-01 9 views
-1

repl.it Python Web IDEを使用していますが、実際には問題を解決できません。UnicodeDecodeError: 'utf8'コーデックは、位置3のバイト0xa3をデコードできません。無効な開始バイト

文字列をデコードしようとしましたが、それを行う方法がないようです。それは無意味なバイナリバイトのシーケンス、ないすべてのテキストがあるので、

import base64 

ciphertext = 'FxM7o1wl/7wE9CHPNzbB944feDFXbTSVaJfaLsUMzH5EP4xZRz7Sq8O3y7+jPbXIMVRxpvJZZm7ugqQ4fwpJwtvnB0/BoU+hhGeEZZZ0fFj1irm/zg3bsxOoxBJx4B3U' 

ciphertext = base64.b64decode(ciphertext) 

print ciphertext 

UnicodeDecodeError: 'utf8' codec can't decode byte 0xa3 in position 3: invalid start byte

+0

あなたの変数名 'ciphertext'に基づいて、私はあなたの文字列が何らかの形でまだ暗号化されていると思います。印刷しようとする前に解読する必要があります。中間結果を見るだけなら 'print repr(cipertext)'を使ってください。 –

+0

コードをコピーして貼り付けましたか? –

答えて

3

あなたはは、印刷ciphertext、(私がチェックする)ことができません。

端末では、何かを印刷すると、何かがUTF8であると想定されています。およびit is not. Hence the errorVGhpcyB3aWxsIGJlIHByaW50ZWQuCg==の暗号文を持っていれば、有効なUTF-8(実際には有効なASCII-7)に解読されるので、問題なく印刷されます。

暗号文を表示する場合は、UTF8以外の文字をスペースで置き換えるか、または暗号テキストを16進数で印刷できます。

実際に行うべきことは、印刷前に解読することです(やったことは、ISO-8859-15やその他の文字セットでエンコードされていないUTF8テキストであることを確認することです)。そうであれば、適切なコーデックを使用することもできます; this answerは文字セットに関する有用な情報も提供します)。

+0

それを復号化する方法はありますか? –

+0

96バイナリバイト(したがって768ビット)のシーケンスで、明らかにランダムです。 **ロット**のものかもしれませんが、暗号が進むにつれて、私は手足に乗ってRijndael暗号を賭けました。暗号化キーなしでは、現実的に壊れることはありません。 – LSerni

+0

実際に私は鍵を持っています、それはそれです:fbc8b03597d6ccc89ac9f823 –

関連する問題