1 / 1 / 0
Регистрация: 05.05.2011
Сообщений: 22
|
||||||
1 | ||||||
Чтение бинарного файла10.06.2011, 16:12. Показов 7688. Ответов 18
Метки нет (Все метки)
Добрый день, ребята помогите разобраться с проблемой, читаю бинарный файл с последующим отображением содержимого в компоненте Memo. При этом текст набранный кирилицей отображается в виде абракадабры, перепробовал разные варианты все в пустую. Я разрабатываю в CodeGear 2009, а в этой версии они перешли на Unicode и поэтому нужно преобразовать формат данных. Ниже приведен код:
0
|
10.06.2011, 16:12 | |
Ответы с готовыми решениями:
18
Чтение бинарного файла Чтение бинарного файла Переписать код с C# - чтение информации из бинарного файла Чтение/запись определенного количества байт из бинарного файла |
1 / 1 / 0
Регистрация: 05.05.2011
Сообщений: 22
|
|
10.06.2011, 17:22 [ТС] | 3 |
Такое решение напрашивается само собой, но к сожалению не снимает проблемы с кодировкой
0
|
1 / 1 / 0
Регистрация: 05.05.2011
Сообщений: 22
|
|
10.06.2011, 18:32 [ТС] | 5 |
Файл который я читаю с лету в memo не загружается, появляется только первая строчка в виде абракадабры
0
|
1280 / 598 / 116
Регистрация: 18.08.2009
Сообщений: 832
|
|
10.06.2011, 20:32 | 6 |
Arushan, если файл бинарный, ты не можешь его загрузить как текстовый файл!!!
Добавлено через 3 минуты http://ru.wikipedia.org/wiki/Двоичный_файл http://ru.wikipedia.org/wiki/Текстовый_файл Все числа, содержащиеся в двух бинарных файлах одновременно, переписать в третий файл
0
|
1 / 1 / 0
Регистрация: 05.05.2011
Сообщений: 22
|
|
10.06.2011, 20:57 [ТС] | 7 |
Как же мне решить эту проблему, ведь я его почти прочитал, не коректно отображаются только символы на кирилице
0
|
1280 / 598 / 116
Регистрация: 18.08.2009
Сообщений: 832
|
||||||
10.06.2011, 23:11 | 8 | |||||
Если файл не бинарный, а проблема только с кодировкой, могут помочь вот такие варианты
Добавлено через 29 минут Если хочешь, можешь прикрепить свой файл, я тебе скажу, какой он - бинарный или нет. Если текстовый, скажу, в какой кодировке. Или сам: 1. Открываешь в Акелпаде 2. Если файл будет бинарным, акелпад выдаст предупреждение 3. Если файл текстовый, внизу окна, в статус баре будет поле "определить кодировку" 4. Нажимаешь на него, будет определена кодировка
0
|
1 / 1 / 0
Регистрация: 05.05.2011
Сообщений: 22
|
|
10.06.2011, 23:40 [ТС] | 9 |
Maluda, я попробовал твой код, на варианте Sysutils::TEncoding::Unicode пишет абракадабру, а на остальных ничего не показывает. Прикрепиь файл не удается, пишет некорректный файл.
0
|
11.06.2011, 11:10 | 11 |
Ну вы даете!!! если файл бинарный, первое что необходимо знать это структуру бинарника...
1. Ты знаешь? Далее...это с++, используй TFileStream или fstream. Добавлено через 1 минуту 2. от куда у тебя этот файл?
0
|
1280 / 598 / 116
Регистрация: 18.08.2009
Сообщений: 832
|
|
11.06.2011, 11:38 | 12 |
Arushan, я же тебе написал если файл не бинарный!!!
Короче, прикрепляй файл и получишь по нему полный расклад.
0
|
1 / 1 / 0
Регистрация: 05.05.2011
Сообщений: 22
|
|
11.06.2011, 13:26 [ТС] | 13 |
Привет всем, файл упаковал надеюсь теперь получится.
0
|
1 / 1 / 0
Регистрация: 05.05.2011
Сообщений: 22
|
|
11.06.2011, 14:01 [ТС] | 15 |
Файл просил Maluda.
Добавлено через 2 минуты Что касается структуры, то он состоит из области заголовка в которой содержится описание записанной информации (дата, размер и пр.) и области данных.
0
|
11.06.2011, 14:47 | 16 | |||||
структура описывается как
Вопрос тогда другой. Как ты записал туда информацию? Это необходимо знать, так как если ошибешься хотя бы на байт, информацию считает не правильно!!!
1
|
1280 / 598 / 116
Регистрация: 18.08.2009
Сообщений: 832
|
|
11.06.2011, 17:23 | 17 |
Файл текстовый, кодировка 866 OEM русская
Первая часть файла вот такая ************************************************************ TN-Reader версия 3.2.1.55 Nov 11 2004 тел.(095)556-73-91 кассета версия 500, серийный N 124, устройство сбора - ТН1ПК, серийный N 200124 Файл данных ************************************************************ Изделие "Ми-28Н", бортовой N 304, полет N 1 - 17.03.2009 в 14:00 Режим N 1 из 3, размер режима - 2*375*389*184 байт ЗАПИСЬ - 17.03.2009, Начало в 0:31:51, Окончание в 1:38:25 ЧТЕНИЕ - 29.04.2011 в 15:58 ************************************************************ Задание - N 1, размер задания - 32896 байт ------------------------------------------------------------ Частота следования меток времени - 1024 Гц Последовательный код RS - Линии: Линия 1 - код RS-422/485, частота = 115.2 кБод, длина слова = 8 бит, число стоп-битов - 1, четность - без четности Линия 2 - код RS-422/485, частота = 115.2 кБод, длина слова = 8 бит, число стоп-битов - 1, четность - без четности Последовательный код МКИО - Линии: Основная линия 1 Резервная линия 1 Основная линия 2 Резервная линия 2 Параллельный код - Гамма-К Информация ARINC - Регистрация с прореживанием - Адреса: Вход 0 адрес 000 - коэффициент прореживания = 1 Вход 0 адрес 001 - коэффициент прореживания = 1 Вход 0 адрес 002 - коэффициент прореживания = 1 Вход 0 адрес 003 - коэффициент прореживания = 1 Вход 0 адрес 004 - коэффициент прореживания = 1 Вход 0 адрес 005 - коэффициент прореживания = 1 Вход 0 адрес 006 - коэффициент прореживания = 1 Вход 0 адрес 007 - коэффициент прореживания = 1 Вход 0 адрес 010 - коэффициент прореживания = 1 Вход 0 адрес 011 - коэффициент прореживания = 1 Вход 0 адрес 012 - коэффициент прореживания = 1 Вход 0 адрес 013 - коэффициент прореживания = 1 Вход 0 адрес 014 - коэффициент прореживания = 1 Вход 0 адрес 015 - коэффициент прореживания = 1 Вход 0 адрес 016 - коэффициент прореживания = 1 Вход 0 адрес 017 - коэффициент прореживания = 1 Вход 0 адрес 020 - коэффициент прореживания = 1 Вход 0 адрес 021 - коэффициент прореживания = 1 Вход 0 адрес 022 - коэффициент прореживания = 1 Вход 0 адрес 023 - коэффициент прореживания = 1 Вход 0 адрес 024 - коэффициент прореживания = 1 Вход 0 адрес 025 - коэффициент прореживания = 1 Вход 0 адрес 026 - коэффициент прореживания = 1 Вход 0 адрес 027 - коэффициент прореживания = 1 Вход 0 адрес 030 - коэффициент прореживания = 1 Вход 0 адрес 031 - коэффициент прореживания = 1 Вход 0 адрес 032 - коэффициент прореживания = 1 Вход 0 адрес 033 - коэффициент прореживания = 1 Вход 0 адрес 034 - коэффициент прореживания = 1 Вход 0 адрес 035 - коэффициент прореживания = 1 Вход 0 адрес 036 - коэффициент прореживания = 1 Вход 0 адрес 037 - коэффициент прореживания = 1 Вход 0 адрес 040 - коэффициент прореживания = 1 Вход 0 адрес 041 - коэффициент прореживания = 1 Вход 0 адрес 042 - коэффициент прореживания = 1 Вход 0 адрес 043 - коэффициент прореживания = 1 Вход 0 адрес 044 - коэффициент прореживания = 1 Вход 0 адрес 045 - коэффициент прореживания = 1 Вход 0 адрес 046 - коэффициент прореживания = 1 Вход 0 адрес 047 - коэффициент прореживания = 1 Вход 0 адрес 050 - коэффициент прореживания = 1 Вход 0 адрес 051 - коэффициент прореживания = 1 Вход 0 адрес 052 - коэффициент прореживания = 1 Вход 0 адрес 053 - коэффициент прореживания = 1 Вход 0 адрес 054 - коэффициент прореживания = 1 Вход 0 адрес 055 - коэффициент прореживания = 1 Вход 0 адрес 056 - коэффициент прореживания = 1 Вход 0 адрес 057 - коэффициент прореживания = 1 Вход 0 адрес 060 - коэффициент прореживания = 1 Вход 0 адрес 061 - коэффициент прореживания = 1 Вход 0 адрес 062 - коэффициент прореживания = 1 Вход 0 адрес 063 - коэффициент прореживания = 1 Вход 0 адрес 064 - коэффициент прореживания = 1 Вход 0 адрес 065 - коэффициент прореживания = 1 Вход 0 адрес 066 - коэффициент прореживания = 1 Вход 0 адрес 067 - коэффициент прореживания = 1 Вход 0 адрес 070 - коэффициент прореживания = 1 Вход 0 адрес 071 - коэффициент прореживания = 1 Вход 0 адрес 072 - коэффициент прореживания = 1 Вход 0 адрес 073 - коэффициент прореживания = 1 Вход 0 адрес 074 - коэффициент прореживания = 1 Вход 0 адрес 075 - коэффициент прореживания = 1 Вход 0 адрес 076 - коэффициент прореживания = 1 Вход 0 адрес 077 - коэффициент прореживания = 1 Вход 0 адрес 100 - коэффициент прореживания = 1 Вход 0 адрес 101 - коэффициент прореживания = 1 Вход 0 адрес 102 - коэффициент прореживания = 1 Вход 0 адрес 103 - коэффициент прореживания = 1 Вход 0 адрес 104 - коэффициент прореживания = 1 Вход 0 адрес 105 - коэффициент прореживания = 1 Вход 0 адрес 106 - коэффициент прореживания = 1 Вход 0 адрес 107 - коэффициент прореживания = 1 Вход 0 адрес 110 - коэффициент прореживания = 1 Вход 0 адрес 111 - коэффициент прореживания = 1 Вход 0 адрес 112 - коэффициент прореживания = 1 Вход 0 адрес 113 - коэффициент прореживания = 1 Вход 0 адрес 114 - коэффициент прореживания = 1 Добавлено через 1 минуту Остальная часть - это шифрованные данные - очень похоже на бортовой самописец или "чёрный ящик" по другому Добавлено через 1 минуту Arushan, короче ты решил стать самым умным и расшифровать "чёрный ящик" вертолёта Для этого есть специальный код дешифровки!!!
1
|
1 / 1 / 0
Регистрация: 05.05.2011
Сообщений: 22
|
||||||
12.06.2011, 10:49 [ТС] | 18 | |||||
Привет всем, спасибо за посильную помощь. Но вопрос как изменить кодировку прочитанной информации для отображения в Memo в нормальном виде все еще остается не решенным. Что касается файла то пишу его не я моя задача представить информацию в нем в удобоваримом виде.
Добавлено через 3 минуты Я предполагаю, что здесь i
0
|
Заблокирован
|
|
12.06.2011, 20:22 | 19 |
а почитать самому про ОЕМ в АНСИ и пр. ? где найти ? в интернете, быстрее всего...
0
|
12.06.2011, 20:22 | |
12.06.2011, 20:22 | |
Помогаю со студенческими работами здесь
19
Чтение бинарного файла и построение графика на основе его данных Чтение бинарного файла в строку: читается только один байт Чтение бинарного файла - чтение первых 9 байт Внешняя сортировка бинарного файла (чтение после конца файла невозможно) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |