(轉載)s60的數據類型轉換

1.串轉換成數字TBuf16<20> buf(_L( "123" ) );TLex lex( buf );TInt iNum;lex.Val( iNum );

2.數字轉換成串TBuf16<20> buf;TInt iNum = 20;buf.Format( _L( "%d" ) , iNum );

3.將symbian串轉換成char串char* p = NULL;TBuf8<20> buf( _L( "aaaaa" ) );p = (char *)buf.Ptr(); 4.UTF-8轉換成UNICODECnvUtfConverter::ConvertToUnicodeFromUtf8( iBuf16 , iBuf8 );

5.UNICODE轉換成UTF-8CnvUtfConverter::ConvertFromUnicodeToUtf8( iBuf8 , iBuf16 ); 6.將char串轉換成symbian串char* cc = "aaaa";TPtrC8 a;a.Set( (const TUint8*)cc , strlen(cc) ); 再加一點:TDesC8 & buf ; TUint8 * pdata ; pdata = buf.Ptr() ; 然後,這個pdata就可以當成unsigned char *用了,這在網絡通訊的時候很重要。如果,怕pdata破壞的話,可以TBuf8<1024> tmp_buf ; tmp_buf.Copy(buf) ; pdata = tmp_buf.Ptr() ; 這樣就可以保護一下buf的數據了,尤其是如果這個buf是Socket的接收的數據是接收函數自己分配的時候。 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章