QT5のを使用して、txtファイルまたはイメージからバイト配列を作成し、そのデコードを使用してファイルを正しく再作成できました。しかし、私が.dbファイル(SQLITE)を試してみると、うまくいきませんでした。データベースファイルからQByteArrayを作成する方法
テキストエディタで.dbを開くと、 "SQLite format 3"の後にエンコードされた文字が表示されます。 QByteArrayを.dbファイルから作成した後、decode()を実行してファイルを再作成した後、テキストエディタで開くと、ファイルには「SQLite format 3」というテキストのみが含まれます。
QByteArrayはtxtファイルまたはImageファイルでのみ動作しますか?
場合は、.db(SQLITE)ファイルからバイトの配列を作成できます。
おかげ
アップデート1(作品belowsのコード):
QFile file("C:/database.db");
if(!file.open(QIODevice::ReadOnly))
qDebug()<<"You are stupid!";
QByteArray byteArray = file.readAll();
QFile file2("C:/database2.db");
file2.open(QIODevice::WriteOnly);
file2.write(byteArray);
file2.close();
file.close();
アップデート2:私は私の最初の質問で述べたデコードについて
、私が使用していました以下:
QString QFile::decodeName(const QByteArray & localFileName)
これは、ドキュメントを慎重に読んだときに意味をなさないものであり、間違っていました。 :)
'decode()'とはどういう意味ですか?自己完結型の最小限の例を示してください。これは簡単だと思われる、あなたは何か間違っている。 –
いいえ、 'QByteArray'は内部に何があるか気にしません。 –