iOS byte byte數組的相關操作

來源:互聯網
上載者:User


1   截取byte[]中一部分資料,從begin 開始,長度是 count 


- (void)bytesplit2byte:(Byte[])src orc:(Byte[])orc begin:(NSInteger)begin count:(NSInteger)count{

    memset(orc, 0, sizeof(char)*count);

    for (NSInteger i = begin; i < begin+count; i++){

        orc[i-begin] = src[i];

    }

}


 2   把 byte數組轉成 Int類型的資料,這 提供了一種 儲存思想


-(int) lBytesToInt:(Byte[]) byte

{

    int height = 0;

    NSData * testData =[NSData dataWithBytes:byte length:4];

    for (int i = 0; i < [testData length]; i++)

    {

        if (byte[[testData length]-i] >= 0)

        {

            height = height + byte[[testData length]-i];

        } else

        {

            height = height + 256 + byte[[testData length]-i];

        }

        height = height * 256;

    }

    if (byte[0] >= 0)

    {

        height = height + byte[0];

    } else {

        height = height + 256 + byte[0];

    }

    return height;

}


 3  把 int 轉成 byte[]


 int jsonlen = JsonData.length;

    char *p_json = (char *)&jsonlen;

    char str_json[4] = {0};

    

    for(int i= 0 ;i < 4 ;i++)

        

    {

        str_json[i] = *p_json;

        p_json ++;

    }

具體使用地方,例如,自訂socket協議。需要傳入 資料大小,需要將 int的長度,轉成byte[] 這樣放入對應協議的位元組中才可以




相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.