• 4688阅读
  • 3回复

[提问]如何计算QString里的中英文字符数 [复制链接]

上一主题 下一主题
离线zerokkqq
 
只看楼主 倒序阅读 楼主  发表于: 2011-10-22
如何计算QString里的中英文字符数?
离线jorneyr

只看该作者 1楼 发表于: 2011-10-22
Qt内部的QString是使用Unicode编码的,输出每个字符的整数值,比较一下就能知道是中文清寒是英文了
离线zerokkqq
只看该作者 2楼 发表于: 2011-10-23
引用第1楼jorneyr于2011-10-22 23:17发表的  :
Qt内部的QString是使用Unicode编码的,输出每个字符的整数值,比较一下就能知道是中文清寒是英文了

不太懂 能给例子吗?
离线陈小草
只看该作者 3楼 发表于: 2011-10-23
#include <QtCore/QCoreApplication>
#include<stdio.h>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    QString text=QString::fromUtf8("English中文");

    int len=text.length();
    for(int i=0;i<len;i++)
    {
    ushort unicode=text.unicode();
    if(unicode>=0x20&&unicode<=0x7E)
        printf("基本拉丁文\n");
    else if(unicode>=0x4E00&&unicode<=0x9FFF)
        printf("中日韩统一表意文字\n");
    }
    return 0;
}


参见:
http://zh.wikipedia.org/wiki/Unicode%E5%AD%97%E7%AC%A6%E5%B9%B3%E9%9D%A2%E6%98%A0%E5%B0%84
快速回复
限100 字节
 
上一个 下一个