Lendo inteiros do arquivo binário em Python
Estou tentando ler umBMP arquivo em Python. Eu sei que os dois primeiros bytes indicam a empresa BMP. Os próximos 4 bytes são o tamanho do arquivo. Quando eu executo:
fin = open("hi.bmp", "rb")
firm = fin.read(2)
file_size = int(fin.read(4))
Eu recebo:
ValueError: literal inválido para int () com base 10: 'F # \ x13'
O que eu quero fazer é ler esses quatro bytes como um inteiro, mas parece que o Python está lendo-os como caracteres e retornando uma string, que não pode ser convertida em um inteiro. Como posso fazer isso corretamente?