Qt中字符串的使用
来源:互联网 发布:无网络监控安装教程 编辑:程序博客网 时间:2024/05/04 03:54
首先,应当注意到QString保存的字符是UTF-16字符,即QChar。为了减小内存的拷贝操作,QString使用implicit sharing(copy-on-write)方案,即对象拷贝时并不复制数据内存,而只是复制指针并增加引用计数。
Qt使用类QByteArray保存传统的8比特、'\0‘结尾的字符串。
通常情况下,使用QString比较方便的,它包含了对Unicode字符支持,可以表示中文字符。但有时,我们可能需要使用ascii字符串,需要将QString转换为QByteArray。
1、QString转换为C字符串
QString::toUtf8()返回QByteArray对象,其表示的字符串是采用UTF-8,因此与ASCII字符串兼容,且可以表示所有Unicode字符。如果想得到字符指针,可以进一步使用QByteArray::constData();
QString::toLocal8Bit()也返回QByteArray对象,其采用8-bit字节表示字符串,如果字符串中包含了8-bit字节编码不支持的字符,则返回的字节阵列无定义,即这些字符可能被忽略或替换。
相反地,若想从C字符串转换为QString,可使用对应的函数QString::fromUtf8()和QString::fromLocal8Bit()。
2、QString转换为std::string
QString::toStdString()返回std::string,其中QString中的数据被转换为UTF-8字符使用toUtf8()
QString::toStdWString()返回std::wstring。若平台使用UTF-16,则wchar_t是2字节(如Windows);若平台使用UCS4,则wchar_t为4字节(如大多数Unix系统)
相反地,若想得到QString,可使用QString::fromStdString()和QString::fromStdWString()。
- Qt中字符串的使用
- QT中字符串的相关使用
- QT中字符串的比较
- QT中生成字符串md5的方法
- QT中生成字符串md5的方法
- Qt中整型转字符串的方法
- QT中生成字符串md5的方法
- QT中字符串的转化与拼接
- Qt中QLabel的字符串连接
- Qt中对字符串的各种操作
- QT中字符串的转化与拼接
- QT中字符串的转化与拼接
- QT中生成字符串md5的方法
- Linux 下 使用Qt查看执行文件中是否包含某字符串的方法
- QT中QString 类的使用--获取指定字符位置、截取子字符串等
- Qt中使用正则表达式提取和修改字符串中改定的内容
- QT中QString 类的使用--获取指定字符位置、截取子字符串等
- QT中QString 类的使用--获取指定字符位置、截取子字符串等
- 请你吃棒冰
- WMV格式文件播放器
- iOS 6 Passbook 入门 1/2
- poj2488
- CString与string,CString 与int 互相转换
- Qt中字符串的使用
- java的远程数据库连接,超时问题解决(转载请注明原处)
- 数据挖掘十大经典算法
- 观察者模式与回调机制的关系
- nGrinder 安装指南
- SSH免密码登录
- Android Touch系统简介(二):实例详解onInterceptTouchEvent与onTouchEvent的调用过程
- KVC、KVO和谓词
- 数码照片删除后怎么恢复