0

文字列でエンコードされた変数 (元は 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
>>> 
4

1 に答える 1

2

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

于 2012-09-17T16:58:50.167 に答える