Зачем нужны бинарные файлы?

Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Ответить
YourBunnyBallOne
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Чт авг 11, 2011 17:09:06

Зачем нужны бинарные файлы?

Сообщение YourBunnyBallOne »

Хочу разобраться с бинарными файлами, но разбираюсь в компьютерах слабо. Искал в сети информацию по бинарным файлам - скудно. Так и не нашел ответа на свои вопросы, а что нашел, то не понял.

Например, есть сохранения в играх. Если открыть текстовым редактором, то там хаос из букв. Почему нельзя записывать сохранения в виде обычного текстового файла, где на читабельном языке написана, например, позиция игрока, кол-во патронов и другие параметры?

Есть еще вопросы, позже задам. Подскажите будьте добры.
Реклама
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: Зачем нужны бинарные файлы?

Сообщение YS »

Почему нельзя записывать сохранения в виде обычного текстового файла, где на читабельном языке написана, например, позиция игрока, кол-во патронов и другие параметры?
Ну, во-первых, потому, что не все можно записать читабельно. А, во вторых, для таких вещей первоочередной задачей является удобство работы с этими данными из целевой программы. Может быть удобно, например, просто писать в файл структуру. Или массив в сыром виде, чтобы потом быстро загрузить.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Реклама
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: Зачем нужны бинарные файлы?

Сообщение YS »

Искал в сети информацию по бинарным файлам - скудно.
Потому, что бинарник содержит сырую информацию, и общих стандартов на него нет. Все зависит от пишущей программы.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
YourBunnyBallOne
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Чт авг 11, 2011 17:09:06

Re: Зачем нужны бинарные файлы?

Сообщение YourBunnyBallOne »

Спасибо, понятно объясняешь.

А если открыть .exe-файл и скопировать часть абракадабро-текста, и вставить его еще раз рядом, то получится, что алгоритм исполняемого файла изменится?
Например, открыть специльной программой для редактирования бинарных файлов и скопировать и продублировать рядом по тексту ту часть абракадабры, в которой содержится инструкция процессору "вывести на экран текст 'хелло ворд'", то запуская экзешник он выведет на экран 2 раза текст, вместо одного?
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Света
Модератор
Сообщения: 10740
Зарегистрирован: Пн июл 07, 2008 10:46:09
Откуда: Россия

Re: Зачем нужны бинарные файлы?

Сообщение Света »

Всё зависит от программы. Чаще всего, программа замкнута внутри себя и если нет перехода, то второй раз не выведет "Hello World"
Если хотите, чтобы жизнь улыбалась вам, подарите ей своё хорошее настроение
Реклама
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: Зачем нужны бинарные файлы?

Сообщение YS »

содержится инструкция процессору "вывести на экран текст 'хелло ворд'", то запуская экзешник он выведет на экран 2 раза текст, вместо одного?
Не все так просто. Дело в том, что exe-файл, кроме, собственно, инструкций, содержит еще кучу данных для системы о том, как его загружать, какие функции ему нужны, в каком режиме он работает, и т.д. Потому тупое копирование скорее всего нарушит его структуру и он просто вылетит с ошибкой.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Реклама
Аватара пользователя
Kotische
Опытный кот
Сообщения: 885
Зарегистрирован: Сб июл 19, 2008 02:16:33
Откуда: Саратов

Re: Зачем нужны бинарные файлы?

Сообщение Kotische »

YourBunnyBallOne писал(а):открыть специльной программой для редактирования бинарных файлов и скопировать и продублировать рядом по тексту ту часть абракадабры, в которой содержится инструкция процессору "вывести на экран текст 'хелло ворд'", то запуская экзешник он выведет на экран 2 раза текст, вместо одного?
Маловероятно.
Скорее всё повиснет и раскорячится.
А под виндами файл просто не запустится, т.к. операционная система обнаружит нарушение структуры файла и просто не станет его запускать.
faddistr
Первый раз сказал Мяу!
Сообщения: 26
Зарегистрирован: Пн ноя 08, 2010 00:56:40
Откуда: Киев

Re: Зачем нужны бинарные файлы?

Сообщение faddistr »

YourBunnyBallOne писал(а):Спасибо, понятно объясняешь.

А если открыть .exe-файл и скопировать часть абракадабро-текста, и вставить его еще раз рядом, то получится, что алгоритм исполняемого файла изменится?
Например, открыть специльной программой для редактирования бинарных файлов и скопировать и продублировать рядом по тексту ту часть абракадабры, в которой содержится инструкция процессору "вывести на экран текст 'хелло ворд'", то запуская экзешник он выведет на экран 2 раза текст, вместо одного?
Если хотите делать такие вещи, то Вам понадобятся знания кодов процессора х86 и 16ричный(хекс) редактор(фактически та самая специальная программа для редактирования бинарных файлов). А то что Вы видите-это попытка Вашего текстового редактора отобразить эти коды как текст(см. таблица кодов ASCII и других кодировок). А чтобы отобразить всю эту катавасию в виде мнемоник ассемблера(мнемоника-человеческое представление кода процессора)-нужен отладчик(дебаггер). При том учтите что код программы может быть запакован и первыми инструкциями может идти код, который это распаковывает.

Это вкратце, для полного ответа на Ваш вопрос и понимания структуры данных в памяти Вашего компьютера-изучите ассемблер для архитектуры х86.
Transistor
Прорезались зубы
Сообщения: 209
Зарегистрирован: Пт авг 27, 2010 18:05:09

Re: Зачем нужны бинарные файлы?

Сообщение Transistor »

Позвольте вас спросить а оно вам надо знать для чего бинарные файлы. Просто пользуетесь и незабивайте глупыми вопросами голову. Но все возможно вы будущий компютерщик хотя если и будете, изучите одну из языков программирования и все вопросы такого рода отпадут.
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: Зачем нужны бинарные файлы?

Сообщение YS »

Просто пользуетесь и незабивайте глупыми вопросами голову.
Вот он, типичный образ мыслей офисного хомячка или секретарши-блондинки. :) А мы тут на форуме, созданном для тех, кто все же задает вопросы. :wink:
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Transistor
Прорезались зубы
Сообщения: 209
Зарегистрирован: Пт авг 27, 2010 18:05:09

Re: Зачем нужны бинарные файлы?

Сообщение Transistor »

Боюсь что ета тема перорастет в обикновений флуд но всьоже вискажу свое мнение.
Есть вопроси которие нужно задавть, а эсть вопроси которие ненужно. Соотвествено и с ответами.
Нена все вопроси нужно отвичать.
как мне кажится википедия досить хорошо отвечаеть на нашу тему http://en.wikipedia.org/wiki/Binary_file
П.С. Хорошо мне несложно задать пару сотен глупих вопрос и забить себе глупостями башку.
Я прост видиляю суть вопроса а не лезу в дебри слово сочитаний. к стати а в гуле непробували спрасит.
От пример страних вопросов http://www.blogdog.ru/archives/338.
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: Зачем нужны бинарные файлы?

Сообщение YS »

Есть вопроси которие нужно задавть, а эсть вопроси которие ненужно.
Несомненно. Только принадлежность конкретного вопроса к одной из этих категорий каждый определяет сам для себя. То, что Вам кажется не стоящим внимания, для кого-то может быть вопросом жизни.
Хорошо мне несложно задать пару сотен глупих вопрос и забить себе глупостями башку.
Только зачем, если оно Вам не надо?

Кстати, о вопросах. У меня созрел один, и я считаю, что это тот вопрос, который стоит задать. :wink: Собственно, что у Вас с русским языком? :)
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Transistor
Прорезались зубы
Сообщения: 209
Зарегистрирован: Пт авг 27, 2010 18:05:09

Re: Зачем нужны бинарные файлы?

Сообщение Transistor »

У меня плохо с руским. Я сам не руский.
А поповоду вопросов, всеже нужно исползовать гугла.
Аватара пользователя
РадиоЛоматель
Мудрый кот
Сообщения: 1733
Зарегистрирован: Чт авг 21, 2008 22:03:30
Откуда: Одесса(Украина)
Контактная информация:

Re: Зачем нужны бинарные файлы?

Сообщение РадиоЛоматель »

Нет, не правда. Человек задал вполне нормальный вопрос и на него уже дали ответ. Я тоже долго думал на восходе своей программистской деятельности, во что мне упаковывать настройки для своих программ? Вот он ответ, простой, как валенок. А я поломал голову долго, придумывая разрешение :)
(*tmp) &= ~( ( (param1 & (1<<PARAM1_BIT6)) || ((param2==PARAM2_TRUE)&&(--param3)) ) ? (param1 & (~param2)) : (Func1() | FUNC1_FLAGS) );
Люблю Си...
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: Зачем нужны бинарные файлы?

Сообщение YS »

во что мне упаковывать настройки для своих программ?
Таки для настроек .ini удобнее, как по мне. :) Хотя, когда я в восьмом классе писал арканоид (еще на Паскале), то настройки скидывал именно в бинарник - как раз таки писал туда сырую структуру.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Аватара пользователя
РадиоЛоматель
Мудрый кот
Сообщения: 1733
Зарегистрирован: Чт авг 21, 2008 22:03:30
Откуда: Одесса(Украина)
Контактная информация:

Re: Зачем нужны бинарные файлы?

Сообщение РадиоЛоматель »

Ну в ini принято писать в текстовом формате. Тогда для меня это было сложновато :) Кстати, тоже в 8-м классе. Но, кажется, это был терминал для ком-порта.
(*tmp) &= ~( ( (param1 & (1<<PARAM1_BIT6)) || ((param2==PARAM2_TRUE)&&(--param3)) ) ? (param1 & (~param2)) : (Func1() | FUNC1_FLAGS) );
Люблю Си...
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: Зачем нужны бинарные файлы?

Сообщение YS »

Ну в ini принято писать в текстовом формате.
А я читер, я использую готовый класс TIniFile для C++ Builder. :)
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Ответить

Вернуться в «Интеграция с ПК»