Что выбрать текстовый или бинарный файл?
EgorBolotow, Если на текстовый формат ориентироваться, то и думать не надо — есть же XML или JSON, зачем городить велосипед?
Что касается двоичного, тут огромное пространство для фантазии и творчества.
Для системы хранения требуется продумать 4 фундаментальных операции: SELECT, INSERT, UPDATE, DELETE и не забыть о частоте предполагаемого использования каждой из них..
Дальше уже всё зависит от конкретных данных, которые предполагается хранить, в общем, здесь нет однозначного ответа. Если это хранилище общего назначения для самых разнообразных данных, то рекомендую ознакомиться с тем, как устроены файловые системы.
Чем отличается двоичный файл от обычного
Как возможно сделать обычный файл двоичным, чтобы уже в дальнейшем в программе работать с двоичным файлом и использовать соответствующие функции в программе. Еще один вопрос: что такое размер текстового блока , и что может значить «размер кодируемого блока»:8,12,16,24,32,48,64 разряда ?
Любой файл состоит из байт (а байты из бит). В этом смысле любой файл — двоичный. Другое дело, что некоторые файлы состоят из байт, которые могут быть представлены символами (текстом) — см. Набор символов в Википедии.
Как работать с файлом как с двоичным — открыть его в соответствующем режиме, например ‘rb’ для fopen . И работать с ним с помощью соответствущих функций ( fread , fwrite ).
Размер блока — это может быть например размер блоков, которыми читаются данные из файла, например функцией fread . А может быть что-то другое — уточняйте у того, кто давал задание.
![]()
При открытии файла в двоичном режиме все данные в него пишутся в неизменном виде.
При открытии файла в текстовом режиме есть зависящая от операционной системы обработка символов перевода строки. Например, в Windows при записи \n реально будет записываться два символа \r\n , аналогично при чтении эти 2 символа будут превращаться в один.
Если под текстовым файлом вы имеете в виду файл, в котором, скажем, элементы некоторого массива типа int записаны в виде символов 1 , 223 -54 и т.п. (и вы их можете увидеть в обычном текстовом редакторе),
то тогда соответствующим ему двоичным файлом будет «слепок памяти» того же массива, записанный на диск (и если посмотреть на него в редакторе, то увидим сплошные «кракозябры»).
Очевидно, чтобы сделать двоичный файл надо писать в него содержимое переменных программы функцией fwrite.
Всё ещё ищете ответ? Посмотрите другие вопросы с метками c или задайте свой вопрос.
Site design / logo © 2022 Stack Exchange Inc; user contributions licensed under cc by-sa. rev 2022.6.10.42345
Нажимая «Принять все файлы cookie», вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
чем отличается работа с бинарными файлами, от работы с обычными .
Все Программы для Windows пишут, обычно, на C+ (высокоуровневый язык) или на Assembler`е (низкоуровневый язык) .
Файл оч. жёстко привязан к Файловой системе. Файлы создаются (генерируются) Программами.
Под бинарностью, обычно, подразумевают:
а) два положения ключа (открыто/закрыто) ;
б) способ цифровой записи сигнала (1/0);
в) два вида сигнала (да/нет) ;
г) уровень сигнала (есть/отсутсвует) .
Обычные файлы можно открыть по Расширению с помощью Программы, которая может понять эти Расширения.
Бинарный код это машинный язык. Чтобы отличить где начало, а где конец Файла используют Стартовый и Стоповый биты.
Бинарный код состоит из битов информации. Это единицы и нули. Биты складываются в байты. Байты в свою очередь делятся на Старшие Байты и Младшие Байты.
Для обычных Файлов составляют n-разрядные символы. И тело Файла формируют из набора таких символов. Формирование символов производится в совокупной работе Программы и Операционной системы. Иногда, при передаче по Сетевому кабелю, по телефонным проводам, по ВЧ-выделенной линии часть информации может потеряться. Тогда применяют перекодировку передаваемых символов.
Существуют различные кодировки типа MIME, UUE, XXE, BinHex, SFV, MD5. Они позволяют упростить (убрать n-разрядность) передаваемую информацию по Сети, через Интернет. Однако, скорость передачи Файла заметно снижается из-за того, что при таких способах перекодирования будет возрастать объём передаваемой информации.
Есть какой-то Файл, с Расширением *.bin, но он, вообще-то, обычный Архив.
Чтобы интерпретировать обычные символы можно воспользоваться Калькулятором. Но, он работает только с числами. В Реестре есть встроенный интерпретатор, который позволяет переводить обычные n-разрядные символы в Hex-числа (в шестнадцетиричную систему счисления) . А Калькулятор может перевести Hex-числа в бинарный вид.
В общем, чтобы работать с бинарным кодом нужно иметь специальную программу, которая произведёт эти два вычисления, и сможет записать на Диск информацию, т. е. сгенерирует Файл.
А как выглядят бинарные Файлы, даже не представляю. Наверное, если откроешь с помощью Блокнота, там будут сплошные Крякозябы (нечитабельные символы).