[Qt]QString/QByteArray/string/char*转换

在这里插入图片描述
char * ===>QString时需告知char*的编码方式
QString默认以unicode编码,可以用以下方式更改:

QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
//设置QString默认编码为UTF-8

转化前还需告知char*使用何种编码:

//不告知,默认选择Latin-1
QString str(const char * str);
//指定
QString QString::fromAscii (const char * str);
QString QString::fromLatin1 (const char * str) ;
QString QString::fromLocal8Bit (const char * str);
QString QString::fromUtf8 (const char * str);
//使用QTextCodec转化
QString QTextCodec::toUnicode (const char * chars) const

P.S. 字符串字面值编码始终是本地编码,与源代码文件的编码无关。编译时会把在.cpp中的编码转换为本地编码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值