Symbain平台下汉字转化成拼音

    技术2022-05-20  42

    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 );

        }


    最新回复(0)