Все, что можно вывести из доступной информации, это то, что что-то ожидает строку байта, но вы передали ему объект unicode
, содержащий символ Unicode U + 04B7 КИРИЛЛИЧЕСКОЕ МАЛЕНЬКОЕ ПИСЬМО ЧЕ С ДЕСКЕНДЕРОМ ... это, конечно, нет кодируется в ASCII (кодировка по умолчанию), отсюда и сообщение об ошибке.
Лучший ответ на данный момент: не делай этого.
Обновление 1: Вы еще не задали вопрос. Тем не менее:
Так что "что-то" - это метод decrypt
какого-то крипто-гаджета. Это, безусловно, нуждается в str
объекте. Что print repr(encrypted)
говорит вам? Если это выглядит как случайный мусор (как должно быть зашифровано), то каким-то образом он был преобразован из объекта str
в объект unicode
. Вы должны вернуться назад, чтобы увидеть, как это происходит. Если encrypted
выглядит как значимый текст, то ваш процесс шифрования нарушен.
Шаг 1. Начните с некоторого известного открытого текста, зашифруйте его и снова расшифруйте с помощью простого сценария вне аппарата GAE. Используйте print repr () на каждом этапе, чтобы иметь разумные ожидания для следующего шага.
Шаг 2: Повторите шаг 1, используя GAE, проверяя тип и содержимое каждого фрагмента данных.
Обновление 2 Похоже, у вас есть urlencode
на странице A, но нет соответствующего urldecode
на странице B; это (часть) проблема?