2016-11-01 8 views
-1

Я использую repl.it Python web IDE, и я действительно не могу решить проблему с ним.UnicodeDecodeError: кодек 'utf8' не может декодировать байт 0xa3 в позиции 3: недопустимый стартовый байт

Я пытался декодировать строку, но кажется, что нет никакого способа это сделать.

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 error. Если у вас был зашифрованный текст VGhpcyB3aWxsIGJlIHByaW50ZWQuCg==, это было бы напечатано без проблем, так как оно декодирует действительный UTF-8 (фактически ASCII-7).

Если вы хотите отобразить зашифрованный текст, вы можете заменить символы не-UTF8 пробелами или вы можете напечатать зашифрованный текст как шестнадцатеричный.

Но, на самом деле, вы должны действительно расшифровать его перед печатью (также, когда вы это сделали, убедитесь, что это текст UTF8 и, скажем, не закодирован в ISO-8859-15 или других кодировках. Если это так, вы можете использовать соответствующий кодек; this answer также содержит полезную информацию о кодировке).

+0

Любая идея о том, как ее расшифровать? –

+0

Это 96 бинарных байтов (таким образом, 768 бит) последовательность, по-видимому, случайная. Это может быть много вещей, но, поскольку шифры идут, я бы вышел на коне и поставил на шифр Рийндаля. Который, без ключа шифрования, не может быть реалистично нарушен. – LSerni

+0

На самом деле у меня есть ключ, вот он: fbc8b03597d6ccc89ac9f823 –

Смежные вопросы

 Смежные вопросы