87,907
社区成员
发帖
与我相关
我的任务
分享
void ConvertUnicodeToJsonFormatL(const TDesC& aString, RBuf& aOutput)
{
RBufAppendL(aOutput, '\"' );
for(TInt i = 0; i < aString.Length(); ++i)
{
switch( aString[i] )
{
case '\\':
RBufAppendL(aOutput, _L("\\\\") );
break;
case '/':
RBufAppendL(aOutput, _L("\\/") );
break;
case '"':
RBufAppendL(aOutput, _L("\\\"") );
break;
case '\t':
RBufAppendL(aOutput, _L("\\t") );
break;
case '\f':
RBufAppendL(aOutput, _L("\\f") );
break;
case '\b':
RBufAppendL(aOutput, _L("\\b") );
break;
case '\n':
RBufAppendL(aOutput, _L("\\n") );
break;
case '\r':
RBufAppendL(aOutput, _L("\\r") );
break;
default:
{
if( aString[i] < 256 )
RBufAppendL(aOutput, TChar(aString[i]) );
else
{
TBuf<32> format;
format.Format(_L("\\u%04x"), aString[i]);
RBufAppendL(aOutput, format);
}
}
}
}
RBufAppendL(aOutput, '\"' );
}