gpt4 book ai didi

python - 如何将 python 2.7 中的 bytearray 转换为十进制字符串?

转载 作者:太空宇宙 更新时间:2023-11-04 02:08:45 25 4
gpt4 key购买 nike

我有以下字节数组

>>> string_ba
bytearray(b'4\x00/\t\xb5')

接下来的两行很容易将其转换为十六进制字符串:

hex_string = [chr(x).encode('hex') for x in string_ba]
hex_string = ''.join(hex_string)

返回

>>> hex_string.lower()
'34002f09b5'

这是预期的。 (这是一个RFID卡签名)

我通过执行上述操作将其转换为十进制,然后在下一行将十六进制字符串转换为十进制字符串(用零填充)。我在字符串中有 10 个字符的限制,因此我不得不删除字符串中的前 2 个字符,以便能够将其转换为最多 10 个字符的十进制数。

dec_string = str(int(hex_string[2:], 16)).zfill(10)
>>> dec_string
'0003082677'

这是正确的,因为我使用在线转换器对此进行了测试(十六进制:002f09b5,十进制:3082677)问题是,是否有一种方法可以跳过从 bytearray 到 hex_string 的转换,以获得十进制字符串。换句话说,直接从 bytearray 到 dec_string

这将在 Python 2.7.15 上运行。

>>> sys.version
'2.7.15rc1 (default, Apr 15 2018, 21:51:34) \n[GCC 7.3.0]'

我试过从 bytearray 中删除第一个元素,然后将其直接转换为字符串并连接。但这并没有提供预期的结果。

string_ba = string_ba[1:]
test_string = [str(x) for x in string_ba]
test_dec_string = ''.join(test_string).zfill(10)

>>> test_dec_string
'0000479181'

重复这个问题有没有办法直接从字节数组到十进制字符串

最佳答案

您可以使用结构库将 bytearray 转换为十进制。 https://codereview.stackexchange.com/questions/142915/converting-a-bytearray-into-an-integer也许对你有帮助

关于python - 如何将 python 2.7 中的 bytearray 转换为十进制字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54091895/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com