QString中的字符替换问题

待续_1006 2017-03-09 11:42:08

很简单一个问题,就是要把截图中的大点换成英文名字中间的小点,因为带特殊字符的文件不能发送,只能截图了

QString temp = fileName.replace(QString("大点"),QString("·"));
上面方式转换不成功,应该怎么转换啊
...全文
2243 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
astro_lee 2017-03-31
  • 打赏
  • 举报
回复
QString fileName = QString::fromLocal8Bit("一●二"); QChar bigPoint = fileName.at(1); // 第二个是大点 ushort u = bigPoint.unicode(); // 保存一下这个大点的unicode qDebug() << u; // 输出看看这个大点的unicode值 ... ushort u = xxxx; QChar bigPoint(u); fileName.replace(bigPoint, QChar('.'));
待续_1006 2017-03-30
  • 打赏
  • 举报
回复
引用 2 楼 dext 的回复:
方法不对。你的字符串 是运行时的,结果 替换代码是编译时的。必然会有编码问题。虽然在你的编辑器里看到的是相同字符,如果要替换成功的话首先要保证 你的 编辑器 和 软件的运行环境是要使用的是相同编码。
对于QT怎么来看设置是否匹配呢
dext 2017-03-09
  • 打赏
  • 举报
回复
方法不对。你的字符串 是运行时的,结果 替换代码是编译时的。必然会有编码问题。虽然在你的编辑器里看到的是相同字符,如果要替换成功的话首先要保证 你的 编辑器 和 软件的运行环境是要使用的是相同编码。
Z_墨脱 2017-03-09
  • 打赏
  • 举报
回复
替换报错了吗,还是怎么你最后一句 append 的是 filename 啊

16,213

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧