我需要一个encript算术,它将文本写入文本。
输入文本可以是unicode,输出应该是a-z A-Z 0-9 - 。 (64 char max)
它可以再次解密为unicode。
它应该在javascript和python中实现。
如果已经有一些图书馆可以做到这一点,那很好,如果没有,你能不能告诉我。
欺骗中国Greate防火墙,GAE https在中国被封锁。对这个该死的政府感到愤怒。
答案 0 :(得分:10)
您可能需要查看base64 module。在Python 2.x中(从2.4开始):
>>> import base64
>>> s=u"Rückwärts"
>>> s
u'R\xfcckw\xe4rts'
>>> b=base64.b64encode(s.encode("utf-8"))
>>> b
'UsO8Y2t3w6RydHM='
>>> d=base64.b64decode(b)
>>> d
'R\xc3\xbcckw\xc3\xa4rts'
>>> d.decode("utf-8")
u'R\xfcckw\xe4rts'
>>> print d.decode("utf-8")
Rückwärts
答案 1 :(得分:4)
您正在寻找base64编码。在JavaScript和Python 2中,这有点复杂,因为后者本身不支持unicode,而对于前者,您需要自己实现Unicode编码。
>>> from base64 import b64encode, b64decode
>>> b64encode( 'Some random text with unicode symbols: äöü今日は'.encode() )
b'U29tZSByYW5kb20gdGV4dCB3aXRoIHVuaWNvZGUgc3ltYm9sczogw6TDtsO85LuK5pel44Gv'
>>> b64decode( b'U29tZSByYW5kb20gdGV4dCB3aXRoIHVuaWNvZGUgc3ltYm9sczogw6TDtsO85LuK5pel44Gv' )
b'Some random text with unicode symbols: \xc3\xa4\xc3\xb6\xc3\xbc\xe4\xbb\x8a\xe6\x97\xa5\xe3\x81\xaf'
>>> _.decode()
'Some random text with unicode symbols: äöü今日は'