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

求问 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 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试