Symbain平台下汉字转化成拼音

来源:互联网 发布:fanuc机器人仿真软件 编辑:程序博客网 时间:2024/05/24 02:32

Symbain下汉字转化成拼音方法总结

1.       包含的库:ptiengine.lib

2.       包含的头文件:#include <ptiengine.h>

3.       使用方法(该方法已经在模拟器上进行测试,真机上未进行测试。)

void ConvertChineseToPinyin(const TDesC& aChineseWord, TDes& aPinyin )

    {//该方法只能对一个汉字进行转化,如果是很多汉字的话,需要进行简单的修改就OK

        CPtiEngine* ptiEngine = CPtiEngine::NewL();

        CleanupStack::PushL( ptiEngine );

        ptiEngine->ActivateLanguageL(ELangPrcChinese);

       

        TInt wordLength = aChineseWord.Length();

        for ( TInt j = 0; j < wordLength; j++ )

            {

            TUint16 iInt16 = aChineseWord[j];

            TBuf<3> mid;

            mid.Append(aChineseWord.Mid(j, 1));

            //表示汉字对应的unicode码表中范围。

            if ((iInt16 >= 0x4E00) && (iInt16 <= 0x9FA5))

                {

                HBufC* pTest = HBufC::NewL(6);

                pTest->Des().Append(mid);

                const TUint16* nUint = pTest->Des().Ptr();

                ptiEngine->GetSpelling( *nUint, aPinyin, EPtiPinyin );

                delete pTest;

                pTest = NULL;

                }

            }

        ptiEngine->CloseCurrentLanguageL();

        CleanupStack::PopAndDestroy( ptiEngine );

    }

原创粉丝点击