2012-09-17 2 views
0

Я пытаюсь преобразовать строку, закодированную переменную (которая первоначально является шестнадцатеричным директором), в шестнадцатеричный guid и обратно в ту же строчную кодированную версию.конвертировать в кодировку строки base64 и наоборот

Я делаю это с помощью base64 пакет питона стандартной библиотеки

>>> import base64 
>>> guid 
'Dw8OAwQFBgcIBQABAgMEBw==\n' 
>>> cguid=base64.decodestring(guid).encode('hex') 
'0f0f0e03040506070805000102030407' 

Приведенный выше код выполняет задачу. Теперь мне нужно преобразовать переменную cguid обратно в guid.

Как выполнить задачу?

Я попытался переключить декодирование и кодировать, но он не работает. Это показывает мне ошибку.

>>> base64.encodestring(cguid).decode('hex') 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/usr/local/nb/python/lib/python2.7/encodings/hex_codec.py", line 42, in hex_decode 
    output = binascii.a2b_hex(input) 
TypeError: Odd-length string 
>>> 

ответ

2

base64.encodestring(cguid).decode('hex') => base64.encodestring(cguid.decode('hex'))

+0

Didnt понимают, что я должен был расшифровать его в шестнадцатеричном, прежде чем я мог бы кодировать. Спасибо, Маркус! – ronak

Смежные вопросы