如何在VC中查询中文,及QT5的中文处理
来源:互联网 发布:半钢子午胎数据 编辑:程序博客网 时间:2024/06/11 08:04
1,VC中查询所有含中文字符串
使用正则表达式,查询内容为:
(".*[\u4E00-\u9FA5]+)|([\u4E00-\u9FA5]+.*")
这样,就可以把代码中的中文都查询出来.对处理QT5中的中文问题,很有帮助.
2,VC环境下,QT5中文的处理
VC环境下,提供两种编码文式,UNICODE,和多字节字符集,而QT5中使用的字符集为UTF-8,要正确处理QT5中的中文情况,要注意以下几点:
A,QT5内部都是UTF-8编码在处理,不需要转换了,一个典型的问题,就是中文目录的问题,所有通过QT5获取的中文目录本身就是UTF-8格式,系统可以识别,不需要像QT4那样,需要转换成本地编码方式.静态字符串目录的转换,与QT5中文字符串的处理一样.
B,VC下静态字符串如果含有中文的话,如果是多字节字符集,本人测试以下三种情况有效:
QString str=QStringLiteral("测试");
QString str=QString().fromLocal8Bit("测试");
QString str=QString().fromUtf16(L"测试");
C,QT5与其他非QT5库的字符串转换
QString转char*:QString().toLocal8Bit();
QString转wchar*:QString().toUtf16();
如果不进行这样的转换,在非QT5库中得到的,就是乱码.
以上,QT5所遵循的原则就是,进入QT5的字符串,无论是哪种编码方式,都得转成UTF-8(QT5默认),从QT5出来的字符串,需要根据情况来处理.
本人测试了把C++代码文件转成UTF-8编码格式,希望统一QT5的编码处理,就像平时一样,不需要转换,但是没有成功,可能是我的测试方法不正确,也可能是VC自己的原因.
在网上查资料,QtCreater中,把C++代码文件的编码方式改成UTF-8,就没有编码转换的问题.本人没有测试过,因为对些不熟悉,一直用VC.
如果这种方式是正确的,那可能就与VC的编码处理方式有关吧.
- 如何在VC中查询中文,及QT5的中文处理
- 如何在QT5.6.0上安装中文输入法 及引申出来的问题
- Qt5处理绝对路径中含中文的文件方法
- 如何在JSP中处理中文
- 在QT5中读取中文文本文件的示例代码
- 在vs2015中使用qt5出现中文乱码的问题
- 在Qt5.6中处理VC带来的乱码问题
- Qt5的中文乱码问题如何解决
- 处理VC开发的webservice在C#.NET中中文乱码问题
- 在JSP中处理中文的方法!
- QT中文处理--Qt5对付中文真好用
- Kibana(七):如何在地址中查询中文关键字
- QT5的中文问题
- 如何在arm板上让Qt5.8显示中文
- 关于Qt5中利用UI建立二级菜单无法输入中文的处理技巧
- Qt5之扩展对话框与在QLabel中显示中文的办法
- android开发 在adb shell下查询中文字符乱码及logcat中文乱码的问题
- 关于mysql中如何显示中文及在myeclipse上关联mysql等的一些小结
- JavaSE学习之道:面向对象的三大特征
- Apache+tomcat
- object-c的Retain and Release(保留与释放)
- sgu - 276 - Andrew's Troubles
- JavaWeb学习之道:文件上传和下载
- 如何在VC中查询中文,及QT5的中文处理
- hdu1428(记忆化搜索+DFS)
- 树控件 教程 超详细 (建议边看边做,加深理解,做一遍,顶看五遍,还不费劲)
- C#定时器
- BloomFilter简介
- sizeof
- WinServer 2008 发布Office文件不能访问问题
- C/C++语言void及void指针深层探索
- 部分和问题---多重部分和问题---动态规划