Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для El Sanchez

Ветеран


Contributor


Сообщения: 1273
Благодарности: 1030

Профиль | Отправить PM | Цитировать



Цитата pzh2393:
Выяснилось, что следующие два байта после тэга "FF C4" указывают на размер секции DHT в 16-ричном виде...
Можно сделать поиск НЕХ значения "FF C4" перевод следующих за этим двух байт в 10-ричное значение и в зависимости от размера выдача результата? »
pzh2393, так оно и реализовано. Из объектной переменной BinaryStream, содержащей весь файл, в переменную BinaryFile считывается порция данных размером nChunkSize и переводится в промежуточный строковый буфер sRes до тех пор, пока sRes не будет содержать в себе маркер SOS (FFDA). Из буфера вычленяется секция DHT (разница между вхождением в sRes значения FFDA и первого вхождения маркера DHT (FFCA)) и присваивается переменной sHuffSection. Далее работа идет с этой переменной. В цикле ищутся все вхождения FFCA (таблиц может быть несколько), берутся 4 символа (2 байта) после маркера, переводятся в число, результат добавляется к nDHTsz - общему числу байт, переменная sHuffSection уменьшается на длину маркера и длину данных и далее обрабатывается в цикле, пока есть вхождения FFCA.

Отправлено: 11:35, 05-05-2012 | #8