Я использую PyCrypto в Python 2.7 и Google App Engine. Я использую его для кодирования сообщения, которое сохраняется в NDB. Как правило, это не проблема, однако есть символы, которые он не принимает, возвращая следующую ошибку:
UnicodeEncodeError: кодек 'ascii' не может кодировать символ u'\U0001f601' в позиции 0: порядковый номер не в диапазоне (128)
В приведенном выше случае это задыхается от отправленного смайлика. Я использую следующий код для шифрования:
def encypt_data(self,message,PIN):
key = aes_key+PIN
BS = 16
pad = lambda s: s + (BS - len(s) % BS) * chr(BS - len(s) % BS)
message = pad(message)
iv = Random.new().read(AES.block_size)
cipher = AES.new(key, AES.MODE_CFB, iv)
return base64.b64encode( iv + cipher.encrypt( message ) )
Я хочу разрешить отправку этих персонажей. Как я могу разместиться?