Я реализовал алгоритм кодирования Хаффмана на C++, и он работает нормально. Я хочу создать алгоритм сжатия текста.
за каждым файлом или данными в цифровом мире стоит 0/1.
Я хочу сохранить в файле последовательность битов (0/1), сгенерированную алгоритмом кодирования Хаффмана.
моя цель - сохранить количество битов, используемых в файле для хранения. Я храню метаданные для декодирования в отдельном файле. Я хочу побитно записывать данные в файл, а затем читать то же самое побитно в С++.
проблема, с которой я сталкиваюсь в бинарном режиме, заключается в том, что он не позволяет мне помещать данные по крупицам. Я хочу поместить 10101 побитно в файл, но он помещает значения asci или 8 бит каждого символа за раз.
код
#include "iostream"
#include "fstream"
using namespace std;
int main(){
ofstream f;
f.open("./one.bin", ios::out | ios::binary);
f<<"10101";
f.close();
return 0;
}
выход
любая помощь или указатель на помощь приветствуются. благодарю вас.