分享更有价值
被信任是一种快乐

C语言如何解决QString与QByteArray互相转换的问题

文章页正文上

今天小编给大家分享的是C语言如何解决QString与QByteArray互相转换的问题,相信很多人都不太了解,为了让大家更加了解,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。[1] QString与QByteArray互相转换的方法QString转QByteArray方法QByteArray转QString方法QByteArray类同样不以’’为结尾[2] Qt开发串口通讯软件中的数据转换问题1.读取串口命令-QByteArray转QString,QString转float2.向串口写入命令[3] QT QString与QByteArray的相互转换先要说的是QString。之所以把QString单独拿出来,是因为string是很常用的一个数据结构,甚至在很多语言中,比如JavaScript,都是把string作为一种同int等一样的基本数据结构来实现的。每一个GUI程序都需要string,这些string可以用在界面上的提示语,也可以用作一般的数据结构。C++语言提供了两种字符串的实现:C风格的 字符串,以’/0‘结尾;std::string,即标准模版库中的类。Qt则提供了自己的字符串实现:QString。QString以16位 Uniode进行编码。我们平常用的ASCII等一些编码集都作为Unicode编码的子集提供。关于编码的问题,我们会到以后的时候再详细说明。在使用QString的时候,我们不需要担心内存分配以及关于’/0’结尾的这些注意事项。QString会把这些问题解决。通常,你可以把 QString看作是一个QChar的向量。另外,与C风格的字符串不同,QString中间是可以包含’/0’符号的,而length()函数则会返回 整个字符串的长度,而不仅仅是从开始到’/0’的长度。同Java的String类类似,QString也重载的+和+=运算符。这两个运算符可以把两个字符串连接到一起,正像Java里面的操作一样。QString可以自动的对占用内存空间进行扩充,这种连接操作是恨迅速的。下面是这两个操作符的使用:QString的append()函数则提供了类似的操作,例如:QByteArray转QString,主要用buf.toHex()即可在利用Qt进行串口程序开发过程中,除了与串口通讯的功能实现以外,数据的转换也是比较麻烦的一件事,本篇主要介绍串口通讯中数据转换的问题,关于功能实现大家在网上搜索就能找到相关案例。在完成串口的初始化等功能之后,实现数据的读取转换。从串口接收到的数据形如:“0010101821…”的16进制数,串口返回QByteArray的数据格式,通过以下方式转换为QString,再通过截取数据中某几位,按照16进制格式转换为10进制使用。QByteArray转QString截取第8位后4位的16进制数,并QString转float十进制int转16进制格式string通常我们从Qt开发的界面中使用QLineEdit输入的是十进制类型的,而为了串口处理需要将其转换为16进制格式,再通过免费云主机、域名处理成串口可以解析的格式,例如十进制50转换为16进制的“32”,代码如下:16进制数加法此处参考Qt 十六进制的简单应用, 十六进制的加法,它是先将数转换为10进制,相加后再转换为QStringLatin1:SO-8859-1编码是单字节编码,向下兼容ASCII,其编码范围是0x00-0xFF
utf8字符集以2个或以上的字节表示一个汉字,实际上具体的数值和unicode有很大的相关性
unicode字符集以2个或以上的字节表示一个汉字。
gb18030字符集兼容了gbk字符集,以两个字节表示一个文字。windows系统可能使用的就是这两种的一种。
UCS:通用字符集(Universal Character Set, UCS)是由ISO制定的ISO 10646(或称ISO/IEC 10646)标准所定义的标准字符集。UCS-2用两个字节编码,UCS-4用4个字节编码。关于C语言如何解决QString与QByteArray互相转换的问题就分享到这里了,希望以上内容可以对大家有一定的参考价值,可以学以致用。如果喜欢本篇文章,不妨把它分享出去让更多的人看到。

相关推荐: 怎么用html5画出简单的矩形三角形

这篇文章主要介绍“怎么用html5画出简单的矩形三角形”,在日常操作中,相信很多人在怎么用html5画出简单的矩形三角形问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用html5画出简单的矩形三角形”的疑惑有所帮助!接下来,…

文章页内容下
赞(0) 打赏
版权声明:本站采用知识共享、学习交流,不允许用于商业用途;文章由发布者自行承担一切责任,与本站无关。
文章页正文下
文章页评论上

云服务器、web空间可免费试用

宝塔面板主机、支持php,mysql等,SSL部署;安全高速企业专供99.999%稳定,另有高防主机、不限制内容等类型,具体可咨询QQ:360163164,Tel同微信:18905205712

主机选购导航云服务器试用

登录

找回密码

注册