提问人:Fish 提问时间:11/4/2022 更新时间:11/4/2022 访问量:52
为什么我的 python 会自动将我的字节数组转换为整数?
Why is my python converting my byte array to integers automatically?
问:
我正在编写一个程序,该程序一次从 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 语句,它只是将字节打印为整数,这让我很头疼,因为我需要将元素作为实际字节进行比较。有谁知道为什么会发生这种情况以及如何解决它?
已尝试将字节传递给函数。要打印的预期字节数。而是打印整数。
答: 暂无答案
评论