自两周前起,我一直在尝试并阅读解决这个问题,但是我所尝试的一切都没有成功:(
我正在使用python 2.7。
据我所知,我有一个基于base64格式的字符串:
我正在使用python 2.7。
据我所知,我有一个基于base64格式的字符串:
AAMkADk0ZjU4ODc1LTY1MzAtNDdhZS04NGU5LTAwYjE2Mzg5NDA1ZABGAAAAAAAZS9Y2rt6uTJgnyUZSiNf0BwC6iam6EuExS4FgbbOF87exAAAAdGVuAAC6iam6EuExS4FgbbOF87exAAAxj5dhAAA=
我想将它转换为十六进制字符串。结果应该是00000000194BD636AEDEAE4C9827C9465288D7F40700BA89A9BA12E1314B81606DB385F3B7B100000074656E0000BA89A9BA12E1314B81606DB385F3B7B10000318F97610000
我用下面的代码尝试了一下:def itemid_to_entryid(itemid):
decoded_val = base64.b64decode(itemid)
decoded_val = ''.join( ["%02X" % ord(x) for x in decoded_val ] ).strip()
decoded_val = decoded_val.upper()
return decoded_val
itemid = 'AAMkADk0ZjU4ODc1LTY1MzAtNDdhZS04NGU5LTAwYjE2Mzg5NDA1ZABGAAAAAAAZS9Y2rt6uTJgnyUZSiNf0BwC6iam6EuExS4FgbbOF87exAAAAdGVuAAC6iam6EuExS4FgbbOF87exAAAxj5dhAAA='
entryid = itemid_to_entryid(itemid)
print(entryid)
当我执行操作时,总是返回以下内容:0003240039346635383837352D363533302D343761652D383465392D30306231363338393430356400460000000000194BD636AEDEAE4C9827C9465288D7F40700BA89A9BA12E1314B81606DB385F3B7B100000074656E0000BA89A9BA12E1314B81606DB385F3B7B10000318F97610000
但实际上我不知道我的问题在哪里,非常希望得到任何有关我错误的帮助。
祝好 Ben
binascii.hexlify(base64.b64decode(itemid)).upper()
更加直观。 - Jon Clements