Qt入门之utf8与unicode转换
来源:互联网 发布:我的淘宝店铺怎么登陆 编辑:程序博客网 时间:2024/04/27 12:45
一、几种编码的了解
参考博客http://blog.csdn.net/polarman/article/details/1593159
二、简单的认识下QByteArray、QString
QString的根本是QChar数组,但不以\0结尾,有大小 QChar的根本是ushor
QByteArray可以理解为Char型的动态数组,有大小,不是以\0结尾
三、了解QByteArray、QString、char 之间的转换
QString 转 char
QString str = "string";char *ch ;ch = str.toLocak8Bit().data();
QByteArray转char
char *ch;QByteArray byte;ch = byte.data();
四、了解QString与各编码之间的关系
QString本身是unicode编码,所以我们要将储存在char * 里的字符(可能是utf8或者是GB2312、latin-1)转化为QString,就要告诉
QString之间的编码方式是什么.有一下两种方法:
1、用QString自带的函数
QString fromAscii ( const char *str, intsize = -1 )
QString fromLatin1 ( const char *str, intsize = -1 )
QString fromLocal8Bit ( const char *str, intsize = -1 )
QString fromUtf8 ( const char *str, intsize = -1 )
2、用QTextCodec
QString QTextCodec::toUnicode ( const char *chars ) const
五、显示十六进制
1、QString QString::number ( int n, int base = 10 )
用法:QString::number(unidata[i].unicode(),16);
2、QByteArray toHex () const
例子:
utf8转unicode
这里打开文件只是当时调试用的,无关紧要.
void MessageForm::sendMessage(){ QFile file(filename); QTextCodec *codec = QTextCodec::codecForName("UTF8"); QString strout; if ( file.open(QIODevice::WriteOnly) ) { QTextStream ts(&file); QString strdata = displayWindow->toPlainText(); QString unidata = codec->toUnicode(strdata.toUtf8().data()); for (int i=0; i<unidata.length(); ++i) { ushort num = unidata[i].unicode(); if (num < 255) strout += "00"; strout += QString::number(num,16); } ts << strout; } file.close();}
结果:
0 0
- Qt入门之utf8与unicode转换
- Qt入门之utf8与unicode转换
- utf8与unicode转换
- utf8与unicode转换
- utf8与unicode转换
- UNICODE与 UTF8的转换详解
- unicode与utf8之间的转换
- Unicode UTF8 转换等
- ANSI Unicode,UTF8 转换
- ANSI - Unicode - UTF8 转换
- Unicode UTF8 转换等
- UTF8--Unicode转换程序
- utf8,unicode ,ansi转换
- unicode utf8 转换
- unicode,utf8,ansi转换
- python unicode,utf8转换
- Unicode与Ansi及UTF8与Ansi之间的转换
- UNICODE 与 UTF8 的相互转换 (c++)版
- IOS用CGContextRef画各种图形(文字、圆、直线、弧线、矩形、扇形、椭圆、三角形、圆角矩形、贝塞尔曲线、图片)
- List自定义实体去重复
- NBUT 1557 Team of Slime(贪心)
- The executable was signed with invalid entitlements的问题解决
- Spirent Test-Center安装问题攻略
- Qt入门之utf8与unicode转换
- app dev
- 初学系列
- 如何选择开源许可证
- android 系统架构 源码目录结构详解
- MFC-个人所得税计算器
- 利用DEM绘制等高线
- WebView缓存处理
- iis7 发布mvc 遇到的HTTP错误 403.14-Forbidden Web 服务器被配置为不列出此目录的内容