Как я могу base64-кодировать строки Unicode в JavaScript и Python? - PullRequest
4 голосов
/ 13 октября 2010

Мне нужна арифметика записи, которая переводит текст в текст.

входной текст может быть в кодировке Unicode, а вывод должен быть a-z A-Z 0-9 - (Не более 64 символов)

и он может быть снова расшифрован в Unicode.

это должно быть реализовано в javascript и python.

Если какая-то библиотека уже может это сделать, прекрасно, если нет, подскажите.

Позвольте мне поговорить о том, почему

Чтобы обмануть China Greate Fire Wall, GAE https был заблокирован в Китае. Злой за это проклятое правительство.

Ответы [ 2 ]

10 голосов
/ 13 октября 2010

Возможно, вы захотите взглянуть на base64 модуль .В 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
4 голосов
/ 13 октября 2010

Вы ищете кодировку base64.В JavaScript и Python 2 это немного сложно, так как последний не поддерживает Unicode изначально, а для первого вам потребуется реализовать кодировку Unicode самостоятельно.

Решение Python 3

>>> 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: äöü今日は'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...