问题解决了,前后的编码方式不同导致的,我收到的是utf-8格式,然后转换为GBK就可以了
转换方式:
QTextCodec *gbk = QTextCodec::codecForName("GB18030");
QTextCodec *utf8 = QTextCodec::codecForName("UTF-8");
QString a = "utf8乱码";
char endmsg[128 4] = {0};
memcpy(endmsg, gbk->fromUnicode(utf8->toUnicode(a.toLatin1())).data(),128);
同时谢谢上面二位大虾的回答!