C++ 将QSETING值转换为StdString

C++ 将QSETING值转换为StdString,c++,string,qt,ini,C++,String,Qt,Ini,目前,我保存了一个数据,在ini文件中,它被用于一个QSETING类。我想知道,如果不使用qt,如何将它转换为std::string。有人知道如何确定代码以及如何解码吗 我的数据: 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\x6

目前,我保存了一个数据,在ini文件中,它被用于一个QSETING类。我想知道,如果不使用qt,如何将它转换为std::string。有人知道如何确定代码以及如何解码吗

我的数据:

 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*"
我想做什么

std::string data = convert(dataID);

其中转换为纯C++函数

有人知道如何确定代码以及如何解码吗

是的,你能做到


请记住,QT以UTF16编码在数据流中存储字符串数据,std::string存储8位字符串。因此,您要么需要一些编码转换例程(UTF16->8bit),要么只删除ASCII中没有的每个字符。

您想使用Qt序列化的数据,并在没有Qt的情况下反序列化它吗?为什么首先要用Qt序列化它?@ildjarn可能一个非Qt应用程序需要访问Qt应用程序保存的内容,并且可能无法更改另一个应用程序。Agus-您可以访问QSettings的源文件,因此您可以随时检查它在内部是如何解码的。