编码总结如下

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("你好"); // 显式指定编码

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

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

相关推荐
阿让啊4 小时前
C语言strtol 函数使用方法
c语言·数据结构·c++·单片机·嵌入式硬件
liulilittle4 小时前
OPENPPP2 —— IP标准校验和算法深度剖析:从原理到SSE2优化实现
网络·c++·网络协议·tcp/ip·算法·ip·通信
田里的水稻7 小时前
C++_队列编码实例,从末端添加对象,同时把头部的对象剔除掉,中的队列长度为设置长度NUM_OBJ
java·c++·算法
Jayden_Ruan8 小时前
C++逆向输出一个字符串(三)
开发语言·c++·算法
liulun8 小时前
Skia如何渲染 Lottie 动画
c++·动画
点云SLAM9 小时前
C++ 常见面试题汇总
java·开发语言·c++·算法·面试·内存管理
UnnamedOrange11 小时前
ROS2 配置 linter 的代码格式化工具为 clang-format
c++·cmake
Dobby_0511 小时前
【面试题】C++系列(一)
c++·面经
一拳一个呆瓜11 小时前
【MFC】对话框节点属性:Language(语言)
c++·mfc
点云侠13 小时前
解决Visual Studio 2022编译工程速度慢的问题
开发语言·c++·ide·算法·计算机视觉·visual studio