wjwtools.cpp

来自「编码转换类编码转换类编码转换类文本文件的编码转换类」· C++ 代码 · 共 46 行

CPP
46 行
字号
#include "WjwTools.h"

void WjwTools::ConvUtf2Uni(const TDesC8& aSource, TDes16& aDest)
	{
	RFs fSession;
	fSession.Connect ();
	CleanupClosePushL (fSession);

	CCnvCharacterSetConverter* converter=CCnvCharacterSetConverter::NewLC ();

	if ( converter->PrepareToConvertToOrFromL (KCharacterSetIdentifierUtf8,
			fSession)!=CCnvCharacterSetConverter::EAvailable)
		User::Leave (KErrNotSupported);

	TInt state=CCnvCharacterSetConverter::KStateDefault;

	if ( CCnvCharacterSetConverter::EErrorIllFormedInput == converter->ConvertToUnicode (
			aDest, aSource, state))
		User::Leave (KErrArgument);

	CleanupStack::PopAndDestroy (converter); //converter
	CleanupStack::PopAndDestroy (); //fSession
	}

void WjwTools::ConvGbk2Uni(const TDesC8& aSource, TDes16& aDest)
	{
	RFs fSession;
	fSession.Connect ();
	CleanupClosePushL (fSession);

	CCnvCharacterSetConverter* converter=CCnvCharacterSetConverter::NewLC ();

	if ( converter->PrepareToConvertToOrFromL (KCharacterSetIdentifierGbk,
			fSession)!=CCnvCharacterSetConverter::EAvailable)
		User::Leave (KErrNotSupported);

	TInt state=CCnvCharacterSetConverter::KStateDefault;

	if ( CCnvCharacterSetConverter::EErrorIllFormedInput == converter->ConvertToUnicode (
			aDest, aSource, state))
		User::Leave (KErrArgument);

	CleanupStack::PopAndDestroy (converter); //converter
	CleanupStack::PopAndDestroy (); //fSession
	}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?