python base64转换为十六进制 [英] python base64 to hex
问题描述
两个星期以来,我一直在尝试并阅读以解决此问题,但我尝试的所有方法均无效:-(
我正在使用python 2.7.
据我了解,我确实有一个base64字符串,其格式为:
我想将其转换为十六进制字符串.这应该导致 00000000194BD636AEDEAE4C9827C9465288D7F40700BA89A9BA12E1314B81606DB385F3B7B100000074656E0000BA89A9BA12E1314B81606DB385F3B7B10000318F97610000
我用以下代码尝试过:
def itemid_to_entryid(itemid):encoded_val = base64.b64decode(itemid)encoded_val =''.join([x.decoded_val中的[%02X"%ord(x)]).strip()coded_val = decoded_val.upper()返回decoded_valitemid ='AAMkADk0ZjU4ODc1LTY1MzAtNDdhZS04NGU5LTAwYjE2Mzg5NDA1ZABGAAAAAAAZS9Y2rt6uTJgnyUZSiNf0BwC6iam6EuExS4FgbbOF87ex87AdAAAFjentryid = itemid_to_entryid(itemid)打印(entryid)
总是会返回以下内容: 我真的不知道我做错了什么,真的很感谢能帮助我理解我做错了什么. 亲切的问候本 将base64转换为十六进制字符串的最佳方法是: 您也可以像这样尝试它: 但我不是输出的粉丝: 就您的原始请求而言,您的初始数据一定有问题,因为它不会产生您期望的数据: Since two weeks, I'm trying and reading to solve this problem, but everything I tried didn't worked :-( I'm using python 2.7. I do have, as far as I understand, a base64-string from the format: I want to convert it to a hex-string. Which should result in I tried it with the following code: which always returns me the following: and I really don't get, what I'm doing wrong and really would appreciate any help in understanding what I'm doing wrong. Kind regards
Ben The best way for converting base64 to hex string is: You can also try it just like this: but I am not a fan of the output: As far as your original request goes, there must be something wrong with your initial data, as it does not result in data that you expected:
这篇关于python base64转换为十六进制的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋! 0003240039346635383837352D363533302D343761652D383465392D30306231363338393430356400460000000000194BD636AEDEAE4C9827C9465288D7F40700BA89A9BA12E1314B81606DB385F3B7B1B000B6B76B
#Python 2>>>base64.b64decode('woidjw ==').encode('hex')#Python 3>>>base64.b64decode('woidjw ==').hex()'c2889d8f'
>>>base64.b64decode('woidjw ==')
'\ xc2 \ x88 \ x9d \ x8f'
>>>base64.b64decode( 'AAMkADk0ZjU4ODc1LTY1MzAtNDdhZS04NGU5LTAwYjE2Mzg5NDA1ZABGAAAAAAAZS9Y2rt6uTJgnyUZSiNf0BwC6iam6EuExS4FgbbOF87exAAAAdGVuAAC6iam6EuExS4FgbbOF87exAAAxj5dhAAA =').编码( '六角')'0003240039346635383837352d363533302d343761652d383465392d30306231363338393430356400460000000000194bd636aedeae4c9827c9465288d7f40700ba89a9ba12e1314b81606db385f3b7b100000074656e0000ba89a9ba12e1314b81606db385f3
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
# Python 2
>>> base64.b64decode('woidjw==').encode('hex')
# Python 3
>>> base64.b64decode('woidjw==').hex()
'c2889d8f'
>>> base64.b64decode('woidjw==')
'\xc2\x88\x9d\x8f'
>>> base64.b64decode('AAMkADk0ZjU4ODc1LTY1MzAtNDdhZS04NGU5LTAwYjE2Mzg5NDA1ZABGAAAAAAAZS9Y2rt6uTJgnyUZSiNf0BwC6iam6EuExS4FgbbOF87exAAAAdGVuAAC6iam6EuExS4FgbbOF87exAAAxj5dhAAA=').encode('hex')
'0003240039346635383837352d363533302d343761652d383465392d30306231363338393430356400460000000000194bd636aedeae4c9827c9465288d7f40700ba89a9ba12e1314b81606db385f3b7b100000074656e0000ba89a9ba12e1314b81606db385f3b7b10000318f97610000'