декодирование строки Python Base64 - PullRequest
8 голосов
/ 03 августа 2011

У меня есть то, что должно быть XML-документом в кодировке UCS-2, и мне удалось построить DOM на основе минидома после некоторой настройки.

Проблема в том, что я должен иметь некоторые данные, закодированные в base64. Я точно знаю, что:

AME= (or \x00A\x00M\x00E\x00=) is base64 code for Á

Как бы я расшифровал это?

http://www.fileformat.info/info/unicode/char/00c1/index.htm показывает, что Unicode-представление для Á: u "\ u00C1" и в UTF-16: 0x00C1

base64.b64decode('AME=').decode('UTF-16')

показывает

u'\uc100'

как представление в кодировке Unicode для символа, но оно выглядит поменяемым местами.

Есть идеи, как его декодировать?

1 Ответ

15 голосов
/ 03 августа 2011

Проверьте это

>>> import base64
>>> base64.b64decode('AME=').decode('UTF-16')
u'\uc100'
>>> base64.b64decode('AME=').decode('UTF-16LE')  
u'\uc100'
>>> base64.b64decode('AME=').decode('UTF-16BE')
u'\xc1'

Возможно, вы ищете декодирование с прямым порядком байтов?

...