Qt 编码中的某一字从 UTF-8 转换到 UNICODE 国际化时可能用到

在用Qt生成用作制作点阵字库的bmp,过程是这样子的

第一:先将要生成字库的字放到creator编辑器上;

第二:编辑器的编码是UTF-8 那么该字自然也是,转换为UNICODE

第三:通过生成的unicode 和 已经产生的图片,按照不同组合生成需要的点阵字库,该字库可以重复添加;

 

代码如下:

</pre><p><span style="color:#c0c0c0;"></span><span style="color:#55ffff;">char*</span><span style="color:#c0c0c0;"> </span><span style="color:#55ffff;">tamilfont[200]={</span></p><pre style="TEXT-INDENT: 0px; MARGIN: 0px; -qt-block-indent: 0"><span style="color:#c0c0c0;">        </span><span style="color:#55ffff;">"தொ","றை",</span>
    };

    s8 strnametmp[128]={0};
    for(int k=0;k<2;k++)
    {
        QString str=tamilfont[k];

        QTextCodec *codec = QTextCodec::codecForName("UTF-8");
        QString unicode_str=codec->toUnicode(str.toLocal8Bit().data());

        memset(strnametmp,0,sizeof(strnametmp));
        for(int z=0;z<unicode_str.length();z++)
        {
            strcat(strnametmp,"0");
            strcat(strnametmp,qPrintable(QString::number(unicode_str[z].unicode(),16).toUpper()));
            printf("0x%02s ",qPrintable(QString::number(unicode_str[z].unicode(),16).toUpper()));
        }
        printf("\nstrnametmp:%s\n",strnametmp);

        QT_BmpStr_test(str.toUtf8().data(),6,16,strnametmp);
        sdkPrnStart();
        printf("\n");
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值