Форум сайта python.su
0
Привет всем! Есть задача - считать все данные из BITMAPFILEHEADER.
Открываю на чтение файл изображения в бинарном режиме.
Считываю первые 14 байт (отвечающие за содержание BITMAPFILEHEADER) и записываю их в bt.
Мне нужно считать, к примеру, размер файла в байтах. За это отвечают 4 байта, со второго по пятый.
Значение всех байтов хранится в 16-ричном виде. Мне нужно перевести в 10-тичный.
Всё бы ничего, так bt имеет тип bytes и значения тех четырех байтов нормально в одно шестнадцатиричное число не склеишь. Мещают \\x
Я придумал один вариантик, но мне он кажется ну больно уж сложным.В коде только “склейка” значений 4-ех байт.
f=open("D:\\24.bmp","rb")
bt=f.read(14)
bt=str(bt)
bt=bt.replace("\\x","")
bt2=bt[4:12]Офлайн
253
Вы делаете вообще незнамо что.
курите модуль struct
А вообще есть библиотеки например http://pillow.readthedocs.org/en/latest/handbook/image-file-formats.html
Которые все это делают. Учитесь пользоваться google,yandex
Офлайн
0
doza_and
С модулем PIL как раз разбираюсь.
Про struct забыл.
Спасибо Вам!
Офлайн