Если они такие большие, я бы зарезервировал здоровый кусок (64 КБ?) Пространства в начале файла и поместил туда метаданные в формате XML с последующим символом конца файла (Ctrl-Z). для DOS / Windows, Ctrl-D для Unix?). Таким образом, вы можете легко просматривать и анализировать метаданные с помощью широкого набора наборов инструментов для XML.
В противном случае я перейду к тому, что уже сказали другие люди: метка времени для создания файла, идентификатор для машины, на которой он создан, в основном все, что вы можете придумать для диагностических целей. И в идеале вы бы включили определение самого формата структуры. Если вы часто меняете структуру, очень сложно поддерживать правильную версию кода для чтения различных форматов старых файлов данных.
Одним из больших преимуществ HDF5, как упомянул @highpercomp, является то, что вам не нужно беспокоиться об изменениях в формате структуры, если у вас есть некоторое соглашение о том, какие имена и типы данных. Имена структур и типы данных хранятся в самом файле, так что вы можете передать свой код на C вдребезги, и это не имеет значения, вы все равно можете извлечь данные из файла HDF5. Это позволяет вам меньше беспокоиться о формате данных и больше о структуре данных, то есть меня не волнует последовательность байтов, это проблема HDF5, но мне все равно об именах полей и т. п.
Еще одна причина, по которой мне нравится HDF5, заключается в том, что вы можете использовать сжатие, которое занимает очень мало времени и может дать вам огромные выигрыши в объеме хранилища, если данные медленно изменяются или в основном остаются такими же, за исключением нескольких ошибочных всплесков интерес.