2012-09-17 5 views
0

문자열 인코딩 된 변수 (원래 16 진수 GUID)를 16 진수 GUID로 변환하고 다시 동일한 인코딩 된 버전으로 변환하려고합니다.이 base64 문자열 인코딩으로 변환되고 그 반대의 경우

내가 파이썬 표준 라이브러리 코드 위

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

이 사용 base64로 패키지를하고있는 중이 야하는 작업을 수행합니다. 이제 변수 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

그냥 .. 내가 그것을 인코딩 전에 진수에서 디코딩해야한다고 알고 있습니다. 고마워 마커스! – ronak

관련 문제