博客园丁

我是博客园的一丁,我会永不停顿,不停创新。
  首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

symbian 数据类型转换

Posted on 2006-11-01 17:37  Jason.Jiang  阅读(2273)  评论(0编辑  收藏  举报
数据类型转换

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转换成UNICODE
          CnvUtfConverter::ConvertToUnicodeFromUtf8( iBuf16 , iBuf8 );
5.UNICODE转换成UTF-8
          CnvUtfConverter::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的接收的数据是接收函数自己分配的时候。