• <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: 博客園 模板提供:滬江博客
            欧美久久久久久精选9999| 97精品国产91久久久久久| 久久久艹| 人人狠狠综合久久88成人| 狠狠色噜噜狠狠狠狠狠色综合久久| 久久精品国产亚洲AV无码偷窥| 精品久久久久国产免费| 欧美一区二区久久精品| 大伊人青草狠狠久久| 亚洲国产成人久久一区WWW| 色综合久久综合中文综合网| 美女写真久久影院| 久久久噜噜噜久久中文字幕色伊伊| 久久婷婷五月综合97色| 亚洲国产成人久久综合区| 狠狠色婷婷综合天天久久丁香 | 99久久中文字幕| 合区精品久久久中文字幕一区 | 久久精品午夜一区二区福利| 国内精品欧美久久精品| 97久久国产亚洲精品超碰热| 久久久久久久91精品免费观看| 久久精品国产亚洲一区二区| 奇米影视7777久久精品人人爽 | 国产亚洲美女精品久久久久狼| 亚洲国产成人久久一区WWW| 久久最新精品国产| 国产精品久久久久久福利漫画| 久久精品国产免费观看三人同眠| 久久精品无码免费不卡| 99久久99久久精品国产片| 国产韩国精品一区二区三区久久| 7777精品伊人久久久大香线蕉| 久久精品国产精品亚洲人人 | 亚洲精品无码专区久久久| 一97日本道伊人久久综合影院| 国内精品久久久久久久亚洲| 国产精品免费久久久久影院| 99久久国产综合精品五月天喷水| 91亚洲国产成人久久精品| 91久久香蕉国产熟女线看|