• 8363阅读
  • 3回复

[提问]QString里存有汉字,怎么得到这个QString占的字节的长度呢? [复制链接]

上一主题 下一主题
离线darlings
 

只看楼主 倒序阅读 楼主  发表于: 2010-03-19
— 本帖被 XChinux 从 Qt基础编程 移动到本区(2013-04-01) —
用size( ),length( )得到的好像都比实际的要少啊。。。
离线午小夜

只看该作者 1楼 发表于: 2010-03-19
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GB12030"));
[操作系统版本]  Windows XP;Linux Ubuntu;Linux Fedora;
[Qt SDK版本]    4.7.0
[SDK 发布日期]  2010.05
[IDE(集成开发环境)] QtCreator
个人网页:http://hi.baidu.com/午小夜
學歷:Royal Jalidon
离线darlings

只看该作者 2楼 发表于: 2010-03-22
引用第1楼午小夜于2010-03-19 21:11发表的  :
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GB12030"));

按你这个改完,程序乱码,而且好像还是不行。
离线dbzhang800

只看该作者 3楼 发表于: 2010-03-22
请先解释
引用楼主darlings于2010-03-19 18:02发表的 QString里存有汉字,怎么得到这个QString占的字节的长度呢? :
QString占的字节的长度

的含义



QString 内部采用的 Unicode存储,每个字符占两个字节,和是不是中文无关
  size() * 2

如果你想找的是该字符串在的 utf8 或 gbk 或 big5等编码下的长度,请编码到相应的编码,然后读取相应 QByteArray 的长度
[ 此帖被dbzhang800在2010-03-22 10:33重新编辑 ]
快速回复
限100 字节
 
上一个 下一个