我如何从bytearray()python转换回

因此,我想将1和0的字符串写入实际的二进制文件。但是当我转换回实际字符​​串时遇到一些问题。似乎[204,204,156,231,57,173,107,90,214,11]不错,但是当我转换为字符串时,它会有一点问题。

这是我当前的输出

//write
1100110011001100100111001110011100111001101011010110101101011010110101101011
[204,204,156,231,57,173,107,90,214,11]
//read
[204,11]
11001100110011001001110011100111001110011010110101101011010110101101011000001011
def writefile():
    longstring = "1100110011001100100111001110011100111001101011010110101101011010110101101011"

    with open('file','wb') as f:
        bit_strings = [longstring[i:i + 8] for i in range(0,len(longstring),8)]
        byte_list = [int(b,2) for b in bit_strings]
        print(byte_list)
        print(bytearray(byte_list))
        f.write(bytearray(byte_list))
        f.close()

def readfile():
    byte_list = []
    longbin = ""
    with open('file','rb') as f:
        value = f.read(1)
        while value != b'':
            byte_list.append(ord(value))
            value = f.read(1)
    print(byte_list)
    for a in byte_list:
        longbin = longbin + '{0:08b}'.format(a)
    print(longbin)

hzhz020261 回答:我如何从bytearray()python转换回

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3062094.html

大家都在问