某某郁郁 2016-08-17 14:20 采纳率: 0%
浏览 3651

求问 Qt5 QString 中文转到 string 或 char* 的方法

最近用Qt写HTTP服务端,用的QTcpSocket发送信息。
但是在返回 响应头的时候:
图片说明
作为实验,我的HTML就四个 "啊啊啊啊"
于是开始转换,可是转换之后出现以下现象:
图片说明
string类型变量 tmpa 出现乱码,我知道应该使用 Wstring,但是QTcpSocket->write 不准许用宽字节。

于是将这个乱码发送出去,最后浏览器收到值:
图片说明
原本的四个 啊 变成了 一个啊。缺少了 三个字符。
这种情况是因为char每个中文字需要两个char类型,除非使用宽字节。尝试了网上大部分方法,都没有正确的方法。

这种情况以前发生过在中文char转换到QString。我用的是 QString(QString::fromlocal8bit(char)); 来进行解决的。但是反过来我就不知道,尝试过 tolocal8bit,但是无用依然乱码。

如果有知道的大神还望指点。。。。

  • 写回答

1条回答

  • threenewbee 2016-08-17 14:44
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?