Leyendo enteros de un archivo binario en Python
Estoy tratando de leer unBMP archivo en Python. Sé que los dos primeros bytes indican la firma BMP. Los siguientes 4 bytes son el tamaño del archivo. Cuando ejecuto:
fin = open("hi.bmp", "rb")
firm = fin.read(2)
file_size = int(fin.read(4))
Yo obtengo:
ValueError: literal no válido para int () con base 10: 'F # \ x13'
Lo que quiero hacer es leer esos cuatro bytes como un entero, pero parece que Python los está leyendo como caracteres y está devolviendo una cadena, que no se puede convertir en un entero. ¿Cómo puedo hacer esto correctamente?