C++Qt的字符编码
2023-09-14 09:05:12 时间
1、常见的字符编码
windows系统默认使用ANSI(ASKII、GBK)
Linux系统默认使用utf-8
Qt内部使用unicode
注意: 在实际开发时,所用的编码一般不会是Unicode,和Qt内部的字符编码不一致,直接显示“中文字符串”可能会出现乱码
注意: 如果使用utf-8编写程序时,在使用"const char*" 字符串构建Qt内部使用QString 字符串时,默认会使用fromutf8()函数自动转换成Qt内部的Unicode编码,可以直接显示中文字符串;但是如果编写代码时使用的不是utf-8,就会显示乱码。
2、字符串编码转换QTextCodec
QByteArray encodedString = "中文编码字符串";
//创建编码对象
QTextCodec *codec = QTextCodec::codecForName("GBK");
//使用toUnicode()函数完成编码转换
QString string = codec->toUnicode(encodedString);
CSDN QT开发文章推荐:Qt开发必备技术栈学习路线和资料
示例:
#include <QAppplication>
#include <QPushButton>
#include <QTextCodec>
int main(int argc, char **argv)
{
QApplication app(argc, argv);
//1)创建编码对象
QTextCodec* coder = QTextCodec::codeForName("GBK");
//2)使用toUnicode()函数转换
QString str = coder->toUnicode("我是一个按钮!");
QPushButton button(str);
button.show();
return exec();
}
相关文章
- Hello Qt——QMake用户指南[通俗易懂]
- C++QT常见面试题[通俗易懂]
- 嵌入式Qt-交叉编译FFmpeg与视频播放测试
- 一、Qt初尝试,做一个QT计算器《QT 入门到实战》
- C/C++ Qt 数据库SqlRelationalTable关联表
- C/C++ Qt 数据库与TableView多组件联动
- C/C++ Qt TabWidget 实现多窗体创建
- C/C++ Qt TableDelegate 自定义代理组件
- C/C++ Qt ListWidget 增加右键菜单
- C/C++ Qt 自定义Dialog对话框组件应用
- C/C++ Qt QChart 绘图组件应用
- c++的链表-C++链表
- C/C++ Qt 基础通用组件的应用
- Qt官方示例-GLES3
- Qt官方示例-书评展示
- Qt自绘系列-一堆甜甜圈
- 轻量级Qt键盘-更新谷歌汉字库
- 编程Linux下Qt实例编程:从入门到精通(linux下qt实例)
- 建立Linux下QT动态库建立快速指南(linux下qt动态库)
- Linux下开发Qt应用程序的技术指南(Linux和qt)
- Linux下编译Qt程序的技术指南(linux编译qt程序)
- 技术深入探索Linux下的Qt开发(基于linux的qt开发)
- Linux下Qt跃动编程之旅(linux下qt串口编程)
- Linux系统下Qt环境搭建指南(linuxqt环境搭建)
- 「零基础入门」Linux下安装QT教程,助力程序员成为高手!(linux下安装qt教程)
- 利用Linux系统和QT技术实现高效嵌入式应用程序开发(linux嵌入式qt)
- 如何在Qt应用程序中访问MySQL数据库?(qt访问mysql)
- Qt在Linux操作系统中的运行和应用(qt运行linux)
- Qt与MySQL数据库的编程实践。(qtmysql编程)
- Qt 5 与 MySQL 数据库联合使用:简单高效的开发实践(qt 5 mysql)
- Qt下Linux命令实现快速开发(qtlinux命令)
- Qt如何编译Oracle数据库驱动(qt编译oracle驱动)
- Redis使用Qt解决读写互斥问题(redis读写互斥qt)