WEB开发网
开发学院手机开发Symbian 开发 Symbian中的一些编码转换API 阅读

Symbian中的一些编码转换API

 2010-08-31 00:13:00 来源:WEB开发网   
核心提示:Location: UTF.HLink against: charconv.lib3) Class CCnvCharacterSetConverter示例代码:TText* testtext = (TText*)"测试文字,test";TPtr ptr = GBKToUnicodeL( testte

Location: UTF.H

Link against: charconv.lib

3) Class CCnvCharacterSetConverter

示例代码:

TText* testtext = (TText*)"测试文字,test";TPtr ptr = GBKToUnicodeL( testtext ); // then, the ptr can be display on screen.//---------------------------------------HBufC16* GBKToUnicodeL(TText* aText) { // CcnvCharacterSetConverter API来转换 CCnvCharacterSetConverter* converter = CCnvCharacterSetConverter::NewLC(); // 判断当前系统支持的字符集里面是否包括GBK. // 方法1.START. if( converter->PrepareToConvertToOrFromL(KCharacterSetIdentifierGbk, myRFs) !=CCnvCharacterSetConverter::EAvailable ) User::Leave(KErrNotSupported); // 方法1.END. // 方法2.START. /* CArrayFixFlat* chSetArray = NULL; chSetArray = CreateArrayOfCharacterSetsAvailableLC(myRFs); ... // 在chSetArray中寻找当前系统支持的字符集里面是否包括GBK CleanupStack::PopAndDestroy(chSetArray); //*/ // 方法2.END. TText8 *str = (TText8*)aText; TInt state = CCnvCharacterSetConverter::KStateDefault; TPtrC8 source( str ); HBufC* infoText = HBufC::NewL( source.Length()*2 ); TPtr ptr = infoText->Des(); if( converter->ConvertToUnicode(ptr, source, state) == CCnvCharacterSetConverter::EErrorIllFormedInput ) User::Leave(KErrArgument); //Leave if error in conversion. CleanupStack::PopAndDestroy(converter); //clean for converter return infoText; // 经过转换,infoText中的中文字符就可以在设备上显示了。 }

上一页  1 2 

Tags:Symbian 一些 编码

编辑录入:coldstar [复制链接] [打 印]
赞助商链接