Вывод должен быть напечатан в шестнадцатеричном формате.Первые байты в растровом файле: 'B'
и 'M'
.
Вы пытаетесь распечатать содержимое в ASCII.Более того, он не показывает первые байты, потому что контент прокручивается дальше вниз.Добавьте print("start\n")
, чтобы убедиться, что вы видите начало вывода.
import io
import binascii
tme = 'path.bmp'
print("start") # make sure this line appears in console output
with io.open(tme, "rb") as se:
content = se.read()
print(binascii.hexlify(content))
Теперь вы должны увидеть что-то вроде
start
b'424d26040100000000003...
42
в шестнадцатеричном видезначение для B
4d
- шестнадцатеричное значение для M
...
Первые 14 байтов в файле BITMAPFILEHEADER
Следующие 40 байтов BITMAPINFOHEADER
Байтами после этого являются таблица цветов (если есть) и, наконец, фактические пиксели.
См. BITMAPFILEHEADER
и BITMAPINFOHEADER