Вот что я попробовал
- Преобразовать исходный uint8_t в массив символов. Это работает, но структура становится очень большой, не говоря уже о том, что разные компиляторы обрабатывают символы по-разному.
- Используйте массив uint8_t для представления каждого значения двоичного бита. Например, [1,0,0] равно 100. Также очень большой размер и некорректно записывается в hdf5.
- Определение типа данных по-другому: я пробовал определить тип данных как строку символов. , битовое поле (B8 и BIFIELD) и просто как NATIVE_UINT8.
- Преобразование в std::bitset требует преобразования в строку и в конечном итоге сохранения значения как строки, что не помогите с моими целями по уменьшению размера файла/требуемой памяти
Подробнее здесь: https://stackoverflow.com/questions/793 ... inary-form