文字列でエンコードされた変数 (元は 16 進 GUID) を 16 進 GUID に変換し、同じ文字列でエンコードされたバージョンに戻そうとしています。
Python標準ライブラリの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
>>>