(转载)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的接收的数据是接收函数自己分配的时候。 

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