QChar 与 QString::Data 数组的疑惑,请教高手

yjzl1911 yjzl1911 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
QChar 是 用 16bit来存储一个字符的,那么我将QString的编码方式设置成 utf-8 之后,
QString::data() 返回的是QChar的指针,那么这个指针指向的QChar是用 16bit 还是 8bit的?
如 :
QCoreApplication a(argc, argv);
/* 为QString设置字符编码 */
QTextCodec *codec_cstring = QTextCodec::codecForName("utf-8");
QTextCodec::setCodecForCStrings(codec_cstring);
QString test("123456");
for (int i = 0; i < test.count(); i++)
{
qDebug() << test.constData()[i].cell();
qDebug() << test.constData()[i].row();
}


按照manual的说法,QString::data() 是 “Returns a pointer to the data stored in the QString” ;但我已经指定了 QString采用的utf8编码方式,那么字符串应该是 用 8bit 来存储的;那么QString::data()得到的应该也是 8bit 存储的字符串吧?
...全文

相关推荐

Qt中QString转换成const char * ()、QByteArray等方法

在Qt下写串口字符串读写方面的程序,里面需要处理一些QString和字符数组等方面的字符处理。 QString: QString类提供Unicode字符串。 QString存储一个16位QChars字符串,其中每个QChar对应一个Unicode 4.0字符。(代码值大于65535的Unicode字符使用代理项对(即两个连续的QChars)存储。) Unicode是一个国际标准,它支持目前使用的大多数书写系统。它是US-ASCII(ANSI X3.4-1986)和Latin-1(ISO 8859-1)的超集,所有US-ASCII/Latin-1字符都位于相同的代码位置。 在幕后,QString

weixin_38598613

Qt下串口控制微型热敏打印机(嵌入式打印机)

ARM下Qt控制热敏打印机解决方案,QString转char* 乱码解决方案,Qt数据库查询回调解决方案,串口发十六进制数解决方案

手写的丶从前

精心整理的qt主要类,常用类讲解

精心整理的qt主要类,常用类讲解······

leixiaowei210

C++ QT实现串口调试助手【嵌入式QT GUI设计】.zip

嵌入式C++ QT GUI设计。 项目代码可直接编译运行。

不脱发的程序猿

Qt初学者学习文档,讲述了基础用法和常用控件

Qt初学者学习文档提供了基础用法和常用控件的详细介绍。文档涵盖了如何使用Qt开发应用程序的基础知识,包括创建窗口、布局管理、事件处理、信号与槽机制等核心概念。此外,文档还介绍了Qt中常用的控件,例如按钮、标签、文本框、列表框等,并解释了它们的用法和属性设置。 适用人群: 该文档适用于以下人群: Qt初学者:如果您是刚开始学习Qt编程的初学者,这份文档将帮助您了解Qt的基本概念和常用控件的使用方法。它为您提供了一个入门级的指南,帮助您快速上手Qt开发。 GUI开发者:如果您已经具备GUI开发的经验,但是想要转移到使用Qt进行跨平台开发,那么这份文档将对您有所帮助。它介绍了Qt的特性和常用控件,以及如何使用Qt构建功能丰富的图形用户界面。 跨平台应用程序开发者:如果您需要开发跨平台的应用程序,Qt是一个非常强大的选择。这份文档将教您如何使用Qt的跨平台特性和工具,以便在不同的操作系统上构建一致的应用程序。 总之,Qt初学者学习文档适合那些希望快速入门并掌握Qt基础知识和常用控件的人群。无论是从零开始学习Qt编程,还是已经有GUI开发经验但想要转移到Qt的开发者,该文档都提供了实

偶尔也会
评论 2
收藏 已收藏
分享
返回顶部
yjzl1911
Qt 21,503 成员 26,693 内容