Страница 1 из 1

Работа с файлом в шестнадцатеричном виде

Добавлено: 13 май 2005, 16:15
Den
Привет всем!!!

Есть файл, в шестнадцатеричном виде. В нем зашита всякая лабуда, но в том числе информация на кирилице, в частности Ф.И.О. человека. Как её можно оттуда достать, перекодировать или что ... Т.е. задать имя этого файла и в поле вывести, например, Иванов Иван Иванович и т.д.

С уважением, Den!

Добавлено: 13 май 2005, 20:51
WinMain
Уточни вопрос. Этот файл бинарный или текстовый, в котором каждый байт представлен шестнадцатеричным числом? Чем ты его просматриваешь?

Добавлено: 14 май 2005, 14:55
Den
Уточняю. Файл с расширением *.cer, информация просматривается в текстовом виде. Открываю его программой для просмотра в шестнадцатиричном виде. Точнее говоря, в Visual C++ 6.0 кликаю на нем 2 раза и он откравается в шестнадцатиричном виде. Приказано написать программу, что бы информация которая видна при простом открытии, вытаскивалась в поля диалогового окна, а сделать это можно только работая с файлом в шестнадцатиричном виде (среда Visual C++ 6.0). Хотя, конечно, много программ для просмотра в шестнадцатиричном виде.

Заранее благодарен! С уважением, Den!

P.S. Если опять, что не так отписал, то переспросите.

Добавлено: 14 май 2005, 18:43
WinMain
Если этот файл открыть обычным текстовым редактором, например Блокнотом, то содержимое файла будет выглядеть как нормальный текст или же текст в перемешку с бинарными данными в виде непонятных символов?
Если это бычный текст, то в зависимости от самого текста нужно будет написать некоторый алгоритм, который парсит текстовые строки и достаёт из них нужную информацию.
А если это бинарный файл, то нужно будет разобраться в структуре хранимых данных, знать её поля и смещения, чтобы потом правильно получать данные из этой структуры.

Добавлено: 16 май 2005, 14:10
Den
Это бинарный файл.
Как разобраться в структуре хранимых данных, что бы знать её поля и смещения? Понимаю, без наличия файла сложно ответить, но может быть есть какие-то общие моменты или что-то в этом роде?
Заранее благодарен! С уважением, Den!

Добавлено: 16 май 2005, 19:20
WinMain
Расширение файла "*.cer" мне, к сожалению, ни о чём не говорит.
Разгадку бинарного файла нужно искать прежде всего в самом приложении, которое его записывает на диск, а потом читает. Ведь прежде чем данные попали в файл, их наверно кто-то туда ввёл с помощью соответствующей программы, либо запросил из какой-то базы данных. Зная, какие данные пользователь вводит в данную программу, можно предположить, что примерно будет записываться в файл на диск. Ну а дальше уже подключай собственную интуицию. Если в бинарном файле текстовые данные следуют с одной и той же периодичностью, то это значит, что записывается в файл некая жёсткая структура и там уже можно попытаться найти её начало и конец. Если периодичность не постоянная, а зависит от длины текстовой строки, то скорее всего данные были записаны с помощью сериализации - это в MFC применяется такой способ хранения данных в файлах. В таких случаях обычно перед текстовой строкой в бинарном виде указывается её длина. Есть и другие способы храниния данных, например структурированные хранилища. Для них придётся использовать функции OLE.

Добавлено: 17 май 2005, 14:28
Den
WinMain! Спасибо за помощь!