编码总结如下

VS2019一般的编码是UTF-8编码, win11操作系统的编码可能为GB2312,VS整个工程中使用的都是UTF-8编码,但是在系统内生成的其他文件夹的名字则是系统的编码

如何选择?

Qt 项目:优先用 QString 和 QByteArray(无缝集成 Qt API)。

纯 C++:用 std::string(兼容 STL)。

C 接口/底层:用 char*(但需谨慎内存管理)。

二进制数据:用 QByteArray 或 std::vector<uint8_t>。

常见问题

Q1:为什么 QString 不直接用 std::string?

答:QString 为 Qt 生态优化(如信号槽、Unicode 支持),而 std::string 是通用实现。

Q2:const char* 和 char* 的区别?

答:const char* 是只读的,char* 可修改(但需手动管理内存)。

Q3:中文乱码如何解决?

答:确保统一编码(如 UTF-8):

cpp

QString s = QString::fromUtf8("你好"); // 显式指定编码

当从一个文本中读取一个字节流的时候要指定编码,如果不指定如果有中文的话乱码

出现乱码的根本原因,编码的内容和用的解码是不一致的,编码和解码用的字符集不一样

相关推荐
Mr_Xuhhh4 小时前
介绍一下ref
开发语言·c++·算法
王老师青少年编程4 小时前
2024年信奥赛C++提高组csp-s初赛真题及答案解析(完善程序第2题)
c++·题解·真题·初赛·信奥赛·csp-s·提高组
Trouvaille ~4 小时前
【Linux】进程间关系与守护进程详解:从进程组到作业控制到守护进程实现
linux·c++·操作系统·守护进程·作业·会话·进程组
Mr_Xuhhh4 小时前
C++11实现线程池
开发语言·c++·算法
用户254701008884 小时前
类和对象笔记
c++
John_ToDebug5 小时前
Chromium回调机制的隐秘角落:当const &参数遇见base::BindOnce
c++·chrome·性能优化
消失的旧时光-19435 小时前
C++ 拷贝构造、拷贝赋值、移动构造、移动赋值 —— 四大对象语义完全梳理
开发语言·c++
cpp_25015 小时前
P8448 [LSOT-1] 暴龙的土豆
数据结构·c++·算法·题解·洛谷
MSTcheng.5 小时前
【C++】C++智能指针
开发语言·c++·智能指针
云深处@5 小时前
【C++11】部分特性
开发语言·c++