qt如何使用QString读取和保存中文字符?
来源:互联网 发布:c语言用什么写的 编辑:程序博客网 时间:2024/06/05 16:33
1 把lineEdit上的中文保存到一个字符数组里,使用 toUtf8().data()保存。
strcpy(array,ui->lineEdit->text().toUtf8().data());
2 把array的中文字符显示在lineEdit上,使用QString::fromUtf8()
ui->picturelineEdit->setText(QString::fromUtf8(array));
3 可以判断是否时中文字符
第一种方法,逐一取中QString的字符,进行判断。QString str; int nCount = str.count(); for(int i = 0 ; i < nCount ; i++) { QChar cha = str.at(i); ushort uni = cha.unicode(); if(uni >= 0x4E00 && uni <= 0x9FA5) { //这个字符是中文 } }第二种方法,是利用强大的正则表达式进行判断。
QString str; bool b = str.contains(QRegExp("[\\x4e00-\\x9fa5]+")); if(b) { //存在中文 }
注意:当QString转换其他类型的字符可能会出现字符越界 比如下面的代码:
QString q_name=ui.email_lineEdit->text();QString q_code=ui.code_lineEdit->text();std::string name(q_name.toUtf8().data(),q_name.toUtf8().size());std::string code(q_code.toUtf8().data(),q_code.toUtf8().size()); //如果不按照字符大小赋值,就会出现字符串越界问题
0 0
- qt如何使用QString读取和保存中文字符?
- QT:QString 字符串和中文字符编码
- QString和string互转中文字符
- QString和string互相转换中文字符
- QString和string互转中文字符
- 【Qt】QString,std::string,char中文字符互相转换
- Qt学习: 如何显示中文,QString和string以及C风格字符串的转换
- Qt 中的QString和QByteArray 使用
- QT Qstring Qt中文编码和QString类Unicode编码转换
- Qt中文编码和QString类Unicode编码转换
- Qt中文编码和QString类Unicode编码转换
- QT QString与中文问题
- qt qstring 和 char *
- Qt读取和保存GB2312编码(Qt4)
- Qt打开读取和保存写入文件
- QT 将含有中文字符的QString转化为char*类型
- QT中文处理--QString 与中文问题
- qt--------QString-----保存到文件里
- Windows下配置Ruby on Rails开发环境
- 支付宝的性能测试
- Qt学习笔记2014.7.16.13:33——菜单栏
- 一个菜鸟的营销路
- 【后缀数组】 POJ 3450 Corporate Identity
- qt如何使用QString读取和保存中文字符?
- java 技术写架构的几大重点
- 40个GitHub上最受欢迎的iOS开源项目(二)
- Java抽象类与接口的区别
- Section 1.2 Transformations
- Delphi StringGrid 屏蔽鼠标中间
- gstreamerQQ交流群376903622
- c ---内存管理 对理解OC、swift内存管理有帮助
- 六种查找算法效率比较