Задание форматов файлов затруднительно. Если данные, которые вы хотите сохранить, тривиальны, это имеет тенденцию быть тривиальным. В целом, однако, это не так. Вы можете использовать структуру RFC и ключевые слова, но я всегда считал задание файла в прозе медленным, трудным и скучным заданием, также потому, что чтение также сложно.
Мое предложение, если вы хотите следовать этому пути, - это сосредоточиться на блоках информации. Большая часть сложностей заключается в том, что для объектов, которые являются необязательными, и присутствуют только при наличии другого условия, поэтому попробуйте использовать это при разбиении ваших данных.
Лучшая спецификация, ИМХО, является настоящим кодом с uberperfect testsuite.
Что касается стандартизации, если достаточно людей используют его, он становится стандартом де-факто. вам не нужна официальная печать, хотя, если формат используется достаточно, вы можете воспользоваться официальным типом mime.
Чтобы поговорить об этом, ну, это зависит. Я нашел полезным говорить в терминах объектно-ориентированных сущностей, а также в терминах отношений. Подобные диаграммы базы данных очень полезны в этом отношении.
Наконец, сначала попробуйте найти достойную стандартную альтернативу или, по крайней мере, попытайтесь не разобраться с необработанными битами. Существует множество идеальных форматов контейнеров, которые освобождают вас от многих неприятных задач. Выбор контейнера зависит от фактического типа файла (например, если вам требуется шифрование, перемежение, транзакции и т. Д.).
Представленные данные в какой форме? Какие данные? Вы говорите об компрессии? – Nifle
Двоичный. Зашифрованные данные. Не обязательно, хотя, возможно, в какой-то момент. –
Опубликовать RFC. – Artelius