Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 17.07.2016
Сообщений: 28
1

Текст в бинарный файл

20.05.2017, 14:35. Просмотров 2167. Ответов 6
Метки нет (Все метки)

Суть проблемы такова:
Мне нужно вытащить весь текст из одного файла и сохранить бинарно в другой файл, чтобы его содержимое нельзя было редактировать через блокнот. Пытался записать текст в бинарный файл, но после открытия файла через блокнот - ничего не менялось, оставался обычный, понятный текст.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.05.2017, 14:35
Ответы с готовыми решениями:

Включить в исполняемый файл бинарный файл
Собственно задача такая - есть некая программа которая пишет BIN файл во внешнее устройство. Но...

Сохранить бинарный файл в файл ресурсов
Приветствую. Хочу сохранить бинарный файл в файлы ресурсов, после запуска программы бинарный файл...

Сконвертировать текстовый файл в бинарный, переписать только положительные числа в другой бинарный файл
Бинарные файлы!! Помогите пожалуйста. Дано бинарный файл ( данные сначала в текстовом, конвертирую...

Открыть бинарный файл(.ехе) и сохранить часть байтов в текст
Всем привет. Задача такая: нужно прочитать .exe. в конце его есть некие спецсимволы, которые мне...

6
1932 / 1761 / 822
Регистрация: 23.01.2014
Сообщений: 6,205
20.05.2017, 14:48 2
Цитата Сообщение от Mikle221 Посмотреть сообщение
Мне нужно вытащить весь текст из одного файла и сохранить бинарно в другой файл, чтобы его содержимое нельзя было редактировать через блокнот.
Вы плохо себе представляете значение слова "бинарно" Оно все хранится "бинарно", все представляется в виде ноликов и единичек. Тот же текст можно открыть в виде набора байт. В текст эти нолики и единички превращает не файл, а редактор которым Вы его открываете.
0
0 / 0 / 0
Регистрация: 17.07.2016
Сообщений: 28
20.05.2017, 14:55  [ТС] 3
Почему же тогда другие файлы (dat, bin) текстовый редактор преобразовать не может? Почему в них вместо информации идет набор иероглифов, м?
0
1932 / 1761 / 822
Регистрация: 23.01.2014
Сообщений: 6,205
20.05.2017, 15:56 4
Цитата Сообщение от Mikle221 Посмотреть сообщение
Почему же тогда другие файлы (dat, bin) текстовый редактор преобразовать не может?
В смысле не может? Еще как может. Откройте блокнот, создайте файл с текстом, сохраните с расширением dat или bin. Откройте его блокнотом и там будет текст.

Расширение файлов (несколько символов после последней точки в файле) никак не влияет на его содержимое. Оно служит лишь для подсказки операционной системе - какой именно программой открыть этот файл при двойном клике по нему. А так Вы можете любому файлу сделать любой расширение и открыть его в любой программе.

Просто, например, если Вы попытаетесь открыть файл графическим редактором, а содержимое этого файла не соответствует ни одному из графических стандартных файлов, то программа будет ругаться.

Текстовые же редакторы просто переводят коды символов (байты) в значки (символы) согласно таблице символов заданной кодировки.
0
Эксперт С++
1798 / 1656 / 250
Регистрация: 03.05.2011
Сообщений: 3,829
Записей в блоге: 8
20.05.2017, 16:03 5
Цитата Сообщение от Mikle221 Посмотреть сообщение
Мне нужно вытащить весь текст из одного файла и сохранить бинарно в другой файл
google - шифрование
зашифруйте чем вам надо и будет вам счастье - "файлы (dat, bin) текстовый редактор преобразовать не может"

Цитата Сообщение от Mikle221 Посмотреть сообщение
чтобы его содержимое нельзя было редактировать через блокнот
неправильно выразились - редактировать через блокнот можно всё что угодно.

разберитесь что такое байты и биты и их текстовое представление.
0
0 / 0 / 0
Регистрация: 17.07.2016
Сообщений: 28
20.05.2017, 16:25  [ТС] 6
Цитата Сообщение от pav1uxa Посмотреть сообщение
Расширение файлов (несколько символов после последней точки в файле) никак не влияет на его содержимое. Оно служит лишь для подсказки операционной системе - какой именно программой открыть этот файл при двойном клике по нему. А так Вы можете любому файлу сделать любой расширение и открыть его в любой программе.
Я это прекрасно понимаю, меня интересует как некоторые программы работают с зашифрованными данными.
Например сохранения у игр, чтобы их не могли редактировать в ручную - они зашифрованы. Я думал, что в этом и суть записи данных в файл в бинарном режиме, чтобы текстовые редакторы - не могли отобразить его.

Добавлено через 3 минуты
Цитата Сообщение от _lunar_ Посмотреть сообщение
неправильно выразились - редактировать через блокнот можно всё что угодно.
Да, скорее так: чтобы содержимое файла было непонятно для пользователя.
0
1932 / 1761 / 822
Регистрация: 23.01.2014
Сообщений: 6,205
20.05.2017, 18:15 7
Лучший ответ Сообщение было отмечено pav1uxa как решение

Решение

Цитата Сообщение от Mikle221 Посмотреть сообщение
Например сохранения у игр, чтобы их не могли редактировать в ручную - они зашифрованы. Я думал, что в этом и суть записи данных в файл в бинарном режиме, чтобы текстовые редакторы - не могли отобразить его.
Ну они не обязательно зашифрованы, просто могут иметь свой собственный формат данных.

Ну вот есть, например, форматы для изображений: jpg, tiff, png, bmp и так далее. Чтобы знать, как именно прочитать форматы таких файлов, нужно найти их структуру. Например в википедии можно найти структуру bmp - https://en.wikipedia.org/wiki/BMP_file_format Там расписано за что отвечает каждый байт.

Производители игр (а точнее движков) просто напросто придумывают свои такие форматы и не показывают их никому. Ваш графический редактор не знает как его правильно считать, так как не знает как он устроен.

То же самое с "сохранениями". Ну вот Вы придумали, что у Вас первые 4 байта в файле "сохранения" представляют собой уровень персонажа. Следующие 32 байта имя персонажа. Следующие 4 байта количество вещей у персонажа, ну и так далее. Этот формат знаете только Вы, и только Вы можете правильно его понимать. Если открыть этот файл простым текстовым редактором, то Вы увидите набор иероглифов (как Вы выражались ранее), среди них, возможно, увидите имя персонажа (если будете хранить в стандартной кодировке). Вы можете открыть любой файл exe, например, в блокноте, и увидите там в некоторых местах понятные слова. Это не значит что все остальное "зашифровано", просто блокнот не знает как это правильно считывать.

Плееру, для того чтобы преобразовать файл mp3 в звуки из наушников, нужно знать формат файла mp3. Графическому редактору, чтобы показать Вам набор пикселей определенного цвета из файла bmp, нужно знать как этот файл bmp устроен. Если существует формат файла сохранений, который знаете только Вы - только Вы сможете написать удобную программу для его чтения/редактирования.

Цитата Сообщение от Mikle221 Посмотреть сообщение
Я думал, что в этом и суть записи данных в файл в бинарном режиме, чтобы текстовые редакторы - не могли отобразить его.
Понятие "бинарный файл" сильно абстрактное. Когда так называют файл - имеют ввиду, что файл не получится просто вот так взять и прочитать блокнотом, потому что там не текст, он не предназначен для чтения. Хотя в любом случае даже простой текстовый *.txt файл является бинарным.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.05.2017, 18:15

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Записать в бинарный файл массив объектов Student (бинарный файловый ввод/вывод)
Здравствуйте. Стоит задача записать в бинарный файл массив объектов student: class student {...

Не получается прочесть правильно текстовый файл в структуру а затем в бинарный файл
Нужно просто прочесть файл в структуру данных а потом оттуда записать в бинарный файл Вот как...

Повреждается бинарный файл при попытке его записи в другой файл
Делаю автоматизированную сборку. Для этого нужно соединить три файла в один новый. Но почему-то...

Данные записать в файл F1.txt, затем прочитать оттуда, обрабатывались и записывались в бинарный файл F2.bin с проверкой
Никак не получается отладить в BC++ 3.1. Как сделать в классах так, чтобы введённые данные...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.