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使用隐式共享(写时复制)来减少内存使用并避免不必要的数据复制。这也有助于减少存储16位字符而不是
8位字符的固有开销。
除了QString,Qt还提供QByteArray类来存储原始字节和传统的以8位“ ”结尾的字符串。在大多数情况下,QString是您要使
用的类。它在整个Qt API中使用,Unicode支持确保了如果您希望在某个时候扩展应用程序的市场,应用程序将易于翻译。
QByteArray适用的两种主要情况是需要存储原始二进制数据时,以及内存保护非常重要时(如在嵌入式系统中)。
QString str = “Hello”;
QString str;
str.resize(4);
str[0] = QChar(‘U’);
str[1] = QChar(‘n’);
str[2] = QChar(0x10e3);
str[3] = QChar(0x03a3);
QByteArray::
QByteArray类提供字节数组。
QByteArray可用于存储原始字节(包括“