当前位置: 首页 > article >正文

qt char*与QString互转

一、QString转char*

QString转char*有很多方法

方法1:gbk编码

QString qTest("abc");
char* pTest;
QByteArray baTest = qTest.toLatin1();
pTest = baTest.data();

方法2:utf编码

QString aaa = "jdpoafjeowqfq";
QByteArray byteArr = aaa.toUtf8();
const char*  bbb = byteArr.data();

注意:之所以没有直接使用aaa.toUtf8().data();是因为在转回QString的时候出现很多问号??。建议分开处理,多写一行代码。

方法3:有中文的情况下

QString sTest("abc中文");
std::string ssTest = sTest.toStdString();
const char* ch = ssTest.c_str();

二、char*转QString

主要看是哪种编码方式转的了

方法1:对应上文的方法1

QString::fromLocal8bit();

方法2:对应上文的方法2

QString::fromUtf8();

还有一些其他的方法:


const char*  timestr= "nfiuahfia";
//法1
QTextCodec *codec = QTextCodec::codecForName("");
QString str = codec->toUnicode(timestr);
//法2
​QString ddd = QLatin1String(timestr)


http://www.kler.cn/news/312145.html

相关文章:

  • 巧用联合与枚举:解锁自定义类型的无限潜力
  • 【深度学习|PyTorch】基于 PyTorch 搭建 U-Net 深度学习语义分割模型——附代码及其解释!
  • 【HTTP】方法(method)以及 GET 和 POST 的区别
  • 控制浏览器显示隐藏c++
  • MySQL 主从复制部署与优化
  • 部署k8s基础环境
  • Java Web实战:利用三层架构与Servlet构建登录注册模块
  • 828华为云征文 | 云服务器Flexus X实例:部署 AgentOps,全方位监测智能体
  • Find My资讯|AirPods 4标准版充电盒无扬声器,Find My查找不会发出声音
  • Vue3:编写一个插件(进阶)
  • neuroph建立简单BP网络
  • windows消息机制
  • Spring Boot 项目中整合 RabbitMQ,使用死信队列(Dead Letter Exchange, DLX)实现延迟队列功能
  • 设计模式 组合模式(Composite Pattern)
  • 【HTTP】认识 URL 和 URL encode
  • KL散度(Kullback-Leibler)
  • java框架
  • 深入理解 MySQL MVCC:多版本并发控制的核心机制
  • vmware,centos8(虚拟机) 的安装
  • Python Web开发中的持续集成与持续交付(CI/CD)
  • cassandra指定配置文件的docker启动方法
  • 【学术会议征稿】第四届计算机、信息工程与电子材料国际学术会议 (CTIEEM 2024)
  • 微信小程序能不能有一种公共的分包,能被普通的分包引用其资源?(内有解决方案)
  • 【测试】博客系统测试报告
  • docker面经
  • 【Mac】系统环境配置
  • mybatisplus分页查询学习
  • QT应用开发的C++功能框架以及实战入门开发项目场景
  • 计算机网路(应用层)
  • 中台架构下的数据仓库与非结构化数据整合