2012-05-10 6 views
1

現在、私はiniファイルに保存されたデータムをQSettingクラスで使用しています。私は、Qtを使用せずにstd :: stringに変換する方法を思い出します。誰もコードを決定する方法とdecodecを知っていますか?QSetting値をStdStringに変換します

マイデータ:

dataID="\x1\0\0\0\xd0\x8c\x9d\xdf\x1\x15\xd1\x11\x8cz\0\xc0O\xc2\x97\xeb\x1\0\0\0Z\xa3\xa3\xc9\x18\xb5>M\xa9=)\xb4\xda\xfb{\xfe\x4\0\0\0\x2\0\0\0\0\0\x3\x66\0\0\xc0\0\0\0\x10\0\0\0|\x16>\x17\x96\xda\xc4-O\xe9\x1f!\\\aAW\0\0\0\0\x4\x80\0\0\xa0\0\0\0\x10\0\0\0\x45\xf4K\x9e\xc2k$\f\xd2\xcbK\b\xf4\xd3\xdf}(\0\0\0\xb2\xb2\xf1\x13[sy\r\xeb\xa7\x96l\x8d\xd7\xa4\xccJ\xf6M\xc1\xf3U3W\xe4\xf7\xa6\x1a\x86s`v\xc2\x8d\x99\xdf!8\xd0G\x14\0\0\0\x35\x93\xeb\xcb\xa9\x16\xadXI\xe6\x46wY\x7f\x32\xb8\xd9\xec\xfb*" 

私は変換が

+0

Qtによってシリアル化されたデータを取り込み、Qtなしでデシリアライズしたいですか?最初にQtでシリアル化するのはなぜですか? – ildjarn

+0

@ildjarnおそらく、非Qtアプリケーションは、Qtアプリケーションによって保存されたものにアクセスする必要があり、他のアプリケーションを変更することはできません。 Agus - QSettingsのソースファイルにアクセスできるので、内部でどのようにデコードされているかを常に確認することができます。 – tmpearce

答えて

2

C++関数純粋で誰でもコードとどのようにdecodecを決定する方法を知ってい

std::string data = convert(dataID); 

をやりたいです?

はい、できます。 Read this document

QTは文字列データをUTF16エンコーディングでデータストリームに格納し、std :: stringは8ビット文字列を格納することに注意してください。したがって、エンコーディング変換ルーチン(UTF16 - > 8ビット)を必要とするか、ASCII以外のすべての文字をドロップしてください。

関連する問題