0 / 0 / 0
Регистрация: 11.01.2013
Сообщений: 18
|
|
1 | |
Преобразование неизвестного формата (.US0) в .txt11.01.2013, 23:34. Показов 4482. Ответов 30
Метки нет (Все метки)
Подскажите пожалуйста способ, как преобразовать формат .US0 (его структура известна) в .txt в Builder C++. Например, как с использованием посимвольного чтения сделать вывод на экран информации из заголовка файла и так далее, а в следствии сохранения этой информации в файле текстового формата в определенной последовательности?
0
|
11.01.2013, 23:34 | |
Ответы с готовыми решениями:
30
Преобразование визуальных данных из формата RGB в YUV (4:2:0) Преобразовать текст из *.txt (в любой кодировке) в картинку формата *.bmp Преобразование исходного текстового формата txt в таблицу xls Чтение из файла неизвестного формата |
273 / 241 / 56
Регистрация: 29.05.2012
Сообщений: 889
|
|
11.01.2013, 23:39 | 2 |
Т.к. не знаю структуры опишу общие шаги.
1. Описать структуры описывающие структуру заголовка. 2. Описать дополнительные структуры. 3. Пишем код который открывает файл в режиме бинарного чтения, создаёт структуру заголовка, читает заголовок. В соответствии со структурой создаёт и заполняет дополнительные структуры. 4. Написать код который выводит в текстовый файл инф. в нужном вам виде.
1
|
0 / 0 / 0
Регистрация: 11.01.2013
Сообщений: 18
|
|
11.01.2013, 23:45 [ТС] | 3 |
Вот структура данного файла.
Чтобы описать структуры необходимо задавать массивы, как я понимаю?
0
|
12.01.2013, 15:10 | 4 |
Omniknight, вероятно, документ битый, вордом не открывается - проверь и еще раз выложи.
Добавлено через 25 минут Ну, слегка битый оказался - libreoffice пофыркал малость и открыл. Впредь лучше выкладывай в виде текста или изображения. Вот то, что открылось: Приведи информацию полностью и еще выложи один файлик .US0 для измывательств общественности.
0
|
0 / 0 / 0
Регистрация: 11.01.2013
Сообщений: 18
|
|
04.02.2013, 00:41 [ТС] | 5 |
Файл полностью открылся, или то что выложили - это все что открылось?
Суть в том, что сначала идет заголовок один, потом множество паспортов, а потом идет информация. Файл формата .US0 занимает большой объем памяти. Сюда вряд ли его можно разместить. Постараюсь найти минимального размера и выложить.
0
|
0 / 0 / 0
Регистрация: 11.01.2013
Сообщений: 18
|
|
05.02.2013, 00:26 [ТС] | 7 |
Я скоро в Питер вернусь и выложу все корректно.
0
|
0 / 0 / 0
Регистрация: 11.01.2013
Сообщений: 18
|
|
15.02.2013, 11:19 [ТС] | 8 |
Структура файлов формата УС0
Файл УС0 предназначен для хранения ТМИ медленноменяющихся параметров и состоит из следующих полей: – заголовок файла (от 40 до 295 байт); – таблица паспортов; – наименование и значения ТМП. Структура заголовка приведена в таблице П.1.1. Таблица П.1.1 – Структура заголовка файла УС0 УС0 Имя изделия Имя испытания Дата испытания ТН ТК КП РФ L Комментарий 4 байта 8 байтов 8 Байтов 8 байтов 4 байта 4 байта 2 байта 1 байт 1 байт (L) байтов В первом четырехбайтном поле находятся литеры УС0. В полях "имя изделия", "имя испытания" и "дата испытания" содержатся символьные строки по восемь байт. Поля ТН и ТК содержат начальное и, соответственно, конечное время из этого файла и задаются в формате числа с плавающей точкой. Поля КП (количество паспортов) и L (длина комментария) являются целыми без знака, при значении L равным нулю комментарий отсутствует. В комментарии первые четыре байта в формате числа с плавающей точкой занимает временная поправка, по которой производится пересчет текущего времени. Структура паспорта объекта приведена в таблице П.1.2. Таблица П.1.2 – Структура паспорта объекта Имя объекта Индекс Ф Т А0 А1 Размерность параметра 12 байтов 2 байта 1 байт 1 байт 4 байта 4 байта 8 байтов Поля “Имя объекта” и “Размерность параметра” – символьные. Поля “Индекс”, “Ф” (формат объекта) и “Т” (тип объекта) являются целыми без знака. Поля “А0” и “А1” (масштабные коэффициенты) задаются в формате числа с плавающей точкой. Существуют следующие форматы объектов: а) 0 - массив (кадр, строка) неопределенной длины; б) 1 - длина 1 байт; в) 2 - длина 2 байта; г) 4 - длина 4 байта; д) 8 - длина 8 байтов. Выделяют несколько типов объектов: а) 0 - время в формате числа с плавающей точкой; б) 1 - измеряемый параметр в кодовом виде; в) 2 - измеряемый параметр в виде масштабированного целого без знака; г) 3 - измеряемый параметр в виде числа с плавающей точкой; д) 4 - структура измерительной системы; е) 5 - элемент структуры; ж) 6 - время в формате беззнакового целого. При рассмотрении структуры паспорта необходимо учитывать следующее: а) масштабные коэффициенты А0 и А1 используются для типов объекта 2 и 3. б) допустимые сочетания форматов и типов объектов отмечены в таблице П.1.3. Таблица. П.1.3 – Допустимые сочетания форматов и типов объектов Формат Тип объекта 0 1 2 3 4 5 0 Х Х Х 1 X X X X 2 X X X X X 4 X X X X X X 8 X в) имя структуры измерительной системы не должно превышать восьми символов, а имя элемента структуры при этом содержится в виде, представленном в таблице П.1.4. Таблица. П.1.4 – Вид имени элемента структуры Имя структуры Номер (адрес) элемента в данной структуре 8 байтов 4 байта Возможны следующие разновидности файлов: а) 0 - универсальный файл. б) 2 - В6Н. в) 1 - файл с укороченным индексом. В файле с укороченным индексом отличие от файла В6Н заключается лишь в формате представления поля "Индекс" Таблица. П.1.5– Вид массива файла с укороченным индексом ХХ Индекс 2 бита 14 битов Два бита ХХ содержат индикатор длины значения параметра и означают следующее: – 00 - массив переменной длины; – 01 - значение занимает 2 байта; – 10 - значение занимает 4 байта; – 11 - значение занимает 8 байтов. В файле с укороченным индексом однобайтные коды не допускаются. г) 3 - c кодами (признаками) ошибки. Структура файла УС0 с дешифрованной информацией Для унификации всей дешифрованной информации в качестве базовой выбрана разновидность файла УС0 - файл с укороченным индексом. Паспорта объектов имеют следующие поля: а) формат объекта: 4 - длина четыре байта; б) типы объекта определяются исходя из значений таблицы 1.3: 1) Т = 1 и Т = 3; 2) для временной информации Т = 0 и Т = 6. Диапазон изменения индекса от 0 до 65535, т.е. два байта. Значение параметра определенно форматом объекта - четыре байта.
0
|
16.02.2013, 12:15 | 9 |
Omniknight, таблицы в таком виде нечитабельны, хоть картинки выложи что ли...
И выкладывай уже файлик для тестирования - пусть он будет большой, инет сейчас у многих позволяет не беспокоиться за траффик.
0
|
0 / 0 / 0
Регистрация: 11.01.2013
Сообщений: 18
|
|
18.02.2013, 22:32 [ТС] | 10 |
Вот снимок.
0
|
0 / 0 / 0
Регистрация: 11.01.2013
Сообщений: 18
|
|
18.02.2013, 22:33 [ТС] | 11 |
http://webfile.ru/6384716
вот ссылка на файл формата УС0
0
|
0 / 0 / 0
Регистрация: 11.01.2013
Сообщений: 18
|
|
02.03.2013, 10:47 [ТС] | 12 |
http://files.mail.ru/DFC4225EE... ABB39E5DCA
Вот здесь хранится файл в zip.
0
|
03.03.2013, 11:08 | 13 | |||||
Структурки заголовков можно так оформить:
Понятно, в каком виде хранятся заголовки, однако неясно, как хранятся сами данные. Что за массивы неопределенной длины - где задается их размер? Что за "структура измерительной системы"? Добавлено через 11 часов 52 минуты Хотя, нет, это я вроде соврал... там же куча однобайтовых массивов и более объемные типы стоят на кратных позициях. Если выравнивание поставить в один байт, то вполне можно читать структуры целиком. Это надо попробовать.
1
|
0 / 0 / 0
Регистрация: 11.01.2013
Сообщений: 18
|
||||||
03.03.2013, 11:22 [ТС] | 14 | |||||
Это тема моей выпускной квалификационной работы, хотя программированием никогда я не занимался. Но дипломный руководитель говорил, что нужно файл открывать в посимвольном чтении. Вот какой он дал пример:
0
|
03.03.2013, 11:32 | 15 |
Это просто вычитка файла в массив char и отображение в таблице в виде пар "литера - число". Пример этот не имеет практически никакого отношения к теме.
Если нужно таким же макаром читать эти US0 - милости прошу. А так нужно больше информации по формату, выбивай ее из препода.
0
|
0 / 0 / 0
Регистрация: 11.01.2013
Сообщений: 18
|
|
03.03.2013, 11:42 [ТС] | 16 |
А что нужно именно спросить, я в этом деле совсем чайник. Он пример этот дал, но ни какой пользы мне это не принесло. Пример я сделал, но он не рабочий.
0
|
03.03.2013, 13:14 | 17 |
Сначала идет заголовок файла - его структура и размер описаны. Затем идут заголовки "паспортов" по очереди, структура их описана, количество их задается в заголовке файла. До этого момента все ясно.
Как потом идут данные? Что они из себя представляют и где именно задается размер каждого отдельно взятого куска данных? Еще у тебя упоминаются различные разновидности файлов данного формата: универсальный, ВН6, с укороченным индексом и с дешифрованной информацией. Выложенный тобой файл к каким относится?
0
|
0 / 0 / 0
Регистрация: 11.01.2013
Сообщений: 18
|
|
03.03.2013, 13:26 [ТС] | 18 |
В данной программе должен использоваться ус0 с укороченным индексом.
В ус0 после паспортов идут значения параметров с привязкой их к шкале времени. В войсках используется программа на подобие по созданию отчетов, делается в принципе тоже самое, сейчас выложу руководство той программы. Добавлено через 4 минуты http://files.mail.ru/205C1C941... 57E16B54A4 здесь файл с руководством оператора.
0
|
0 / 0 / 0
Регистрация: 11.01.2013
Сообщений: 18
|
|
03.03.2013, 14:00 [ТС] | 20 |
Я пробовал, просто нельзя было(( велик размер
0
|
03.03.2013, 14:00 | |
03.03.2013, 14:00 | |
Помогаю со студенческими работами здесь
20
Чтение бинарных файлов неизвестного формата Считать побайтно файл неизвестного формата зная его структуру Загрузить в мемо текст из неизвестного .txt с известным path Исследование "неизвестного" формата (отрезать начало файла до определённого заголовка) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |