目前,我有一个保存的数据,在ini文件中,它使用的是QSetting类。我想知道,如何在不使用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);
其中convert是纯c ++函数
答案 0 :(得分:2)
有谁知道如何确定代码以及如何解码?
是的,你可以做到。 Read this document
请记住,QT以UTF16编码将字符串数据存储在datastream中,而std :: string存储8位字符串。所以你要么需要一些编码转换例程(UTF16-> 8bit),要么只丢弃不是ASCII的每个字符。