1
Qt 4.7.2を使用してCP-1251エンコーディングでバイナリファイルにchar配列を書き込むにはどうすればよいですか?
特定のエンコーディングでバイナリファイルにchar配列を書き込む
コードは動作しません後、それはUTF-8エンコーディングで配列を保存します。
QTextCodec* codec = QTextCodec::codecForName("Windows-1251");
QTextCodec::setCodecForCStrings(codec);
char* str = "абвгд";
ofstream out("/home/ivan/Binary/moo.bin");
out << str;
out.close();
UPD:解決策が見出されています。 :>
QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8")); // Set encoding for QObject::tr
QTextCodec* codec = QTextCodec::codecForName("Windows-1251") ; // Set encoding for result data in file
QByteArray bytes = codec->fromUnicode(QObject::tr("Текст на русском языке")); // Encode data in cp-1251
// Write data to binary file
ofstream out("/home/ivan/Binary/moo.bin", ios::out | ios::binary);
out.write(bytes.constData(), bytes.size());
out.close();
は、あなたがすべてで、ここではQtを使用していないのUbuntu 11.04、ENG
QTextCodec :: fromUnicode()はQByteArrayであり、ファイルに格納しようとすることができます。 – Kunal