symbian数据类型转换

    技术2022-05-11  77

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


    最新回复(0)