gpt4 book ai didi

c++ - 二进制文件格式与基于文本的格式文件大小

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:53:57 25 4
gpt4 key购买 nike

我读到以二进制格式保存我的文件比以基于文本的格式保存文件更紧凑。但是为什么我的二进制格式文件比基于文本的文件大呢?

以下是我编写的函数的基础知识。两者都扫描了相同的目录。基于二进制的文件总是大几千字节。

基于文本:

void oldSave(){
QFile file("sentry.dat");
QTextStream out(&file);
file.open(QIODevice::WriteOnly);
QDir dir = dirSelect;

out << "Directory: " << dirSelect << endl;
//prepend directory from which scan was selected to begin from

out << QCryptographicHash::hash(hashFile.readAll(),
QCryptographicHash::Md5).toHex()
<< " : " << hashFile.fileName() << "\n";

基于二进制:

 void saveFile(){
QFile file("sentry.dat");
QDataStream out(&file);
file.open(QIODevice::WriteOnly);
QDir dir = dirSelect;

out << dirSelect;
out << QCryptographicHash::hash(hashFile.readAll(), QCryptographicHash::Md5)
<< hashFile.fileName();

最佳答案

“以二进制格式保存文件比以文本格式保存文件更紧凑”的说法毫无意义。毕竟,写入二进制文件会写入实例的确切大小,而您决定输出文本文件的格式。问问自己,operator<<() 怎么样?定义于 QDirQTextStream

除非输出二进制文件异常大,否则如果输入和输出工作正常,您不必担心文件大小略有增加。

关于c++ - 二进制文件格式与基于文本的格式文件大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23982009/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com