为什么我的 python 会自动将我的字节数组转换为整数?

Why is my python converting my byte array to integers automatically?

提问人:Fish 提问时间:11/4/2022 更新时间:11/4/2022 访问量:52

问:

我正在编写一个程序,该程序一次从 2 个文件中读取 16 个字节,并有一个输入字节可以与之进行比较。现在,如果第一个文件的 16 个字节中存在该字节,我想将第二个文件中完全相同位置的字节添加到列表中。我遇到的一个问题是,由于某种原因,将字节数组传递给另一个函数似乎将元素转换为整数,我不知道为什么?

代码如下: `

list = []
def checkoccurence(hexbyte,ciph,block):
    if len(block) > 0:
        block = bytearray(block)
        print(block[0])
    # i = 0
    # while i < len(block):
    #     if int(len(block)) > 0 and int(len(ciph)) > 0:
    #         if ciph[i] == hexbyte:
    #             list.append(block[i])
    #     i += 1
    # return 

def main(): 

    byte = input("Type in the byte to look for as a hex value:")
    file1 = input("File 1")
    file2 = input("File 2")

    readciph = open(file2,'rb') #Open the ciphertext file
 
    with open(file1, 'rb') as f: #Open the plain text file
        stream = []
        while True:
            block = bytearray(f.read(16))
            ciph = readciph.read(16)
            byte = str(byte)
            hexbyte = bytes.fromhex(byte)
            checkoccurence(hexbyte,ciph,block)
            if not block:
                break
        stream += [block]
    print(list)

if __name__ == "__main__":
  main()

`

现在,如果我查看 checkoccurrenceence 函数中的 print 语句,它只是将字节打印为整数,这让我很头疼,因为我需要将元素作为实际字节进行比较。有谁知道为什么会发生这种情况以及如何解决它?

已尝试将字节传递给函数。要打印的预期字节数。而是打印整数。

Python 数组 函数 文件 io

评论


答: 暂无答案