我对霍夫曼压缩进行了编码,它适用于所有扩展 ascii(0-255),但是当我打开像 mp3 这样的非文本文件时,里面有这样的想法:
ťîxł¸ H...W]`9M ČČ ˇ˘Ł¤Ąxw
它崩溃了。我测试过,这不是因为大小,而是因为输入数据。
它在文件保存时崩溃,代码如下:
for(int i=0;i<=contents.length();i++){
newString +=kod[contents[i]];
}
saveFile("test_nowy.txt", newString);
bool saveFile (string name, string contents)
{
ofstream file;
file.open(name.c_str());
file << contents;
file.close();
}
我还需要说,尽管通过了所有早期步骤(计算代码等),但结果是错误的。看来我的程序不理解这些字符。