gpt4 book ai didi

python - 在 Python 中将一长串位作为半字节转换为十进制

转载 作者:行者123 更新时间:2023-12-01 07:53:01 32 4
gpt4 key购买 nike

我有一个很长的位串(仅 500 位 0 和 1)。如何将其转换为以 4 为一组的十进制(即 4 位半字节)?

我尝试了以下方法,但它不起作用(来自here)

with open("atb.bat","rb") as file:   # atb.bat is the file which contains the string
data=file.read(4)
with open("out.txt","w") as f:
f.write(" ".join(map(str,data)))
f.write("\n")

我预计输出为 125 个整数,但最终只有 4 个小数值!

我也尝试过类似的事情

p1 = 100000001111100101110011001101100110010 # (for example)
p22 =np.packbits(p1,axis=0)

但是不起作用!

有什么想法吗?谢谢

最佳答案

您可以通过 int(inputstring, 2) 方法将字符串转换为 0 和 1: Convert base-2 binary number string to int

因此,循环遍历您的长输入字符串,获取 4 个字符(您可以像此处解释的那样 Split string every nth character? )并将它们传递给 int() 方法。然后将输出连接/连接到长输出字符串。

关于python - 在 Python 中将一长串位作为半字节转换为十进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56100719/

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