• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            Dragon  
            Dragon
            日歷
            <2008年9月>
            31123456
            78910111213
            14151617181920
            21222324252627
            2829301234
            567891011
            統(tǒng)計(jì)
            • 隨筆 - 58
            • 文章 - 0
            • 評(píng)論 - 55
            • 引用 - 0

            導(dǎo)航

            常用鏈接

            留言簿(3)

            隨筆分類(58)

            隨筆檔案(58)

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

             

            在網(wǎng)絡(luò)數(shù)據(jù)流接收為QByteArray時(shí),這里假設(shè)為QByteArray data;一般在數(shù)據(jù)包里有數(shù)據(jù)包的長(zhǎng)度,這里假設(shè)這個(gè)長(zhǎng)度是兩個(gè)字節(jié),當(dāng)我們從data取出這兩個(gè)字節(jié)時(shí)仍為QByteArray;我是這樣獲取的:

            QByteArray twoBytes=data.mid(開始下標(biāo),2);

            然后我調(diào)用toInt,結(jié)果返回都是0

            調(diào)試設(shè)置斷點(diǎn)查看twoBytes的值,大小是2,值是不可見的亂碼,twoBytes[0]=0x05; twoBytes[1]=0xa8;這里假設(shè)長(zhǎng)度是1448,即系十六進(jìn)制0x05a8。最后查看了toInt的說明文檔和里面的例子才知道,05a8QByteArray里占了四字節(jié)時(shí)才可以正確轉(zhuǎn)換,即系0x30,0x35,0x61,0x38

             

            QByteArray str("05a8");//0x30,0x35,0x61,0x38

            bool ok;

            int hex=str.toInt(&ok,16); //hex==1448,ok==true

            int dec=str.toInt(&ok,10); //dec==0,ok==false,because in dec no a

             

            如果想要返回ok為真,可以把a變?yōu)?span lang=EN-US>0

            QByteArray str("0508");//0x30,0x35,0x30,0x38

            bool ok;

            int hex=str.toInt(&ok,16); //hex==1288,ok==true

            int dec=str.toInt(&ok,10); //dec==508,ok==true

             

            最后在網(wǎng)上查了一下,找到了文章,雖然代碼不正確,但有了思路就好弄了。

            思路就是從twoBytes從一個(gè)字節(jié)一個(gè)字節(jié)的左取到右然后在rtp_length中由高到低放置,大概實(shí)現(xiàn)如下:(可以封裝成函數(shù) int BytesToInt(QByteArray towBytes)

            for (int i=0;i<twoBytes.length();i++)

            {

                rtp_length |=(twoBytes[i] & 0x000000FF);

                rtp_length=rtp_length << 8;

            }

            rtp_length=rtp_length>>8;

            posted on 2010-09-19 17:16 Dragon 閱讀(9816) 評(píng)論(0)  編輯 收藏 引用 所屬分類: QT
             
            Copyright © Dragon Powered by: 博客園 模板提供:滬江博客
            精品久久久久香蕉网| 久久av无码专区亚洲av桃花岛| 久久久久综合网久久| 国产日韩久久久精品影院首页| 国产精品成人99久久久久 | 日本亚洲色大成网站WWW久久| 人妻系列无码专区久久五月天| 狠狠综合久久综合88亚洲| 99久久99这里只有免费的精品| 久久国产成人午夜AV影院| 日韩精品久久久久久久电影蜜臀| 国产精品VIDEOSSEX久久发布| 精产国品久久一二三产区区别| 99久久精品费精品国产一区二区| 色综合久久中文字幕综合网| 久久成人国产精品二三区| 免费久久人人爽人人爽av| 99久久99久久精品国产| 无码国内精品久久人妻蜜桃| 伊人色综合久久天天网| 精品久久人人做人人爽综合| 久久精品无码专区免费青青| 中文字幕精品久久| 久久精品国产亚洲一区二区三区| 国产精品久久亚洲不卡动漫| 亚洲αv久久久噜噜噜噜噜| 久久天天婷婷五月俺也去| 久久嫩草影院免费看夜色| 国产精品久久久久乳精品爆| 狠狠色噜噜狠狠狠狠狠色综合久久| 欧美日韩精品久久免费| 久久综合一区二区无码| 久久乐国产精品亚洲综合| 久久久久久免费一区二区三区| 久久99精品久久只有精品| 久久综合亚洲欧美成人| 国内精品久久久久久久久电影网| 国产毛片欧美毛片久久久 | 亚洲精品tv久久久久久久久久| 国产精品一区二区久久精品无码 | 久久午夜无码鲁丝片午夜精品|