#include "utf.h"
/**
* 描述符转char*
* @param[in] aDescriptor 被转换的描述符
* @return 转换结果
*/
const char* descriptorToStringL(const TDesC& aDescriptor)
{
TInt length = aDescriptor.Length();
HBufC8* buffer = HBufC8::NewLC(length*4);
TPtr8 ptr = buffer->Des();
// buffer->Des().Copy(aDescriptor);
CnvUtfConverter::ConvertFromUnicodeToUtf8(ptr,aDescriptor);
char* str = new(ELeave) char[ptr.Length() + 1];
Mem::Copy(str, buffer->Ptr(), ptr.Length());
str[ptr.Length()] = '/0';
CleanupStack::PopAndDestroy(buffer);
return str;
}
/**
* char*转描述符
* @param[in] aString 被转换的字符串
* @return 转换结果
*/
HBufC* stringToDescriptorL(const char* aString)
{
TPtrC8 ptr(reinterpret_cast<const TUint8*>(aString));
HBufC* buffer = HBufC::NewL(ptr.Length());
TPtr16 ptr16 = buffer->Des();
CnvUtfConverter::ConvertToUnicodeFromUtf8(ptr16,ptr);
return buffer;
}