QT/中文
imxiangzi
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
QT qt5使用qdebug()输出中文 乱码
注:QString 是Unicode编码方式。 #include LPCWSTR str_lpc = "中文"; QString str = "中文"; qDebug() //乱码 qDebug() //正确输出中文 qDebug() str; //乱码 qDebug() str.toStdString().c_str(); //正确输出中文 from:http://blog.转载 2017-08-18 15:03:16 · 6886 阅读 · 1 评论 -
qt中的toUtf8, toLatin1, Local8bit, toUcs4
1 首先说下字符集。 gb18030字符集兼容了gbk字符集,以两个字节表示一个文字。windows系统可能使用的就是这两种的一种。 unicode字符集以2个或以上的字节表示一个汉字。 通用字符集(Universal Character Set, UCS)是由ISO制定的ISO 10646(或称ISO/IEC 10646)标准所定义的标准字符集。UCS-2用两个字节编码,UCS-4用4个字转载 2017-08-18 15:05:04 · 7215 阅读 · 0 评论 -
ANSI是什么编码?
用Notepad++创建一个文本文件text.txt,其默认编码格式为ANSI(乍看之下,还以为是ASCII呢),输入汉字居然不是乱码: 保存为test.txt,发送给你美国的同事Bob。他也用Notepad++,不幸的是,却发现你的文件内容是这样的: 也许你会认为:你用的是中文系统,能正常显示中文;他用的是英文系统,不能显示中文! 这么想,好像很有道理呢! 但是再细想一下:一个系转载 2017-08-18 15:08:19 · 83664 阅读 · 26 评论 -
从char到QChar
char类型是c/c++中内置的类型,描述了1个字节的内存信息的解析。比如: char gemfield=’g’; 那么在由gemfield标记的这块内存的大小就是1个字节,信息就是01100111,8位。 再比如: char gemfield=’汉’; 那么由gemfield标记的这块内存的大小依然转载 2017-08-18 15:12:13 · 457 阅读 · 0 评论 -
字符编码之UCS-2与Utf-8
很多操作系统都直接支持utf-8字符串操作,只有MS这个异类用的Unicode,就是所谓的ucs-2 如果写关于跨平台的代码,那么避免不了要做编码转化 这里贴一下今天写的把Unicode转化为Utf-8的代码 Ucs2BeToUcs2Le负责将大端转化为小端 Ucs2ToUtf8负责将Unicode转化为Utf-8Utf8ToUcs2负责将Utf-8转化为Unicode本转化函数只考虑了3转载 2017-08-18 15:57:21 · 3707 阅读 · 0 评论 -
UCS-2和UCS-4
介绍Unicode之前,首先要讲解一些基础知识。虽然跟Unicode没有直接的关系,但想弄明白Unicode,没这些还真不行。 字节和字符的区别 咦,字节和字符能有什么区别啊?不都是一样的吗?完全正确,但只是在古老的DOS时代。当Unicode出现后,字节和字符就不一样了。 字节(octet)是一个八位的存储单元,取值范围一定是0~255。而字符(character,或者word转载 2017-08-18 15:59:38 · 8166 阅读 · 0 评论 -
Qt中文编码和QString类Unicode编码转换
1 window中文GBK编码和Unicode编码转换 //GBK‐> QString QString str = QString::fromLocal8Bit("新浪微博");//QString ‐> GBK QString text = ui.lineEdit‐>text(); QByteArray bytes = text.toLocal8Bit(); const char* gb转载 2017-08-18 16:20:58 · 1850 阅读 · 1 评论 -
Qt中的unicode转换
在Qt中,在大多数情况下都是采用unicode的形式存储的,但是QByteArray实际上是以char的形式存储的,因此转换成unicode表示的QString时需要根据编码的类型进行转换。 [cpp] view plain copy #include #include #include #include #incl转载 2017-08-18 16:21:53 · 6811 阅读 · 0 评论
分享