【问题标题】:Using python how to convert hex byte string to string of hex intergers in flipped order [closed]使用python如何以翻转顺序将十六进制字节字符串转换为十六进制整数字符串[关闭]
【发布时间】:2015-05-05 00:16:03
【问题描述】:

来自: 25f207f28332c7da539dd2539230a7aad975f907a93d924b4b037abacde677f0f71f75cc250df2e4dd2be3e97a60f289

到: 0x7a60f289、0xdd2be3e9、0x250df2e4、0xf71f75cc、0xcde677f0、0x4b037aba、 0xa93d924b, 0xd975f907, 0x9230a7aa, 0x539dd253, 0x8332c7da, 0x25f207f2

【问题讨论】:

  • 我知道他在问什么,在标题和评论之间并不难弄清楚。不过,在问题正文中提供更好的解释会很好。
  • @Loocid:同意,投票重新开放但被否决。 :)
  • 优秀正是我所需要的。这是问题的序言:给定一串十六进制字节以相反的字序转换为一串十六进制无符号整数。我只是觉得一个例子值 1000 字!

标签: python hex


【解决方案1】:

只需将字符串切成块,然后将 0x 与 str.format 的顺序颠倒:

s = "25f207f28332c7da539dd2539230a7aad975f907a93d924b4b037abacde677f0f71f75cc250df2e4dd2be3e97a60f289"

print(["0x{}".format(s[i-8:i]) for i in range(len(s), 0, -8) ])
['0x7a60f289', '0xdd2be3e9', '0x250df2e4', '0xf71f75cc', '0xcde677f0', '0x4b037aba', '0xa93d924b', '0xd975f907', '0x9230a7aa', '0x539dd253', '0x8332c7da', '0x25f207f2']

如果你真的想要小数:

print([int("0x{}".format(s[i-8:i]),16) for i in range(len(s), 0, -8) ])
[2053173897, 3710641129, 621671140, 4146034124, 3454433264, 1258519226, 2839384651, 3648387335, 2452662186, 1402851923, 2201143258, 636618738]

【讨论】:

  • 关闭后和重新打开前,您是如何回答这个问题的?
  • @abarnert,我已经准备好一段时间的答案了,直到我实际提交后才看到问题已关闭,我不知道答案实际上是如何通过的。
  • 我只是好奇它是如何通过的机制......但没有足够的好奇去问 Meta。 :)
  • @abarnert。哈哈,确实,这已经过了我的就寝时间,所以我绝对不会调查 :)
  • @PadraicCunningham,哈哈,很遗憾,我不能两次投票给你;-)
猜你喜欢
  • 2017-08-23
  • 2019-07-27
  • 2012-06-05
  • 2013-02-07
  • 2014-03-19
  • 2017-08-12
  • 2018-01-31
  • 1970-01-01
相关资源
最近更新 更多