第三章:Qt的字符串和字符编码

第一章:Qt的概述
第二章:在Ubuntu编写第一个Qt程序

Qt的字符串和字符编码

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);

示例:

#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();
}
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值