iOS long long 轉byte數(shù)組 相互轉換



最近做一個項目 要傳udp包? 包里包含很多信息 就是把一些信息用byte表示?

所以包含很多byte的轉換 這里記錄一下? 在網上沒查到 只有int的轉換

這里的例子是8個字節(jié)代表一個long long數(shù)據(jù)。



long long轉為byte數(shù)組


+ (Byte*)longlongToByte:(long long)value

{

? ? Byte * byte = malloc(8);

? ? byte[0] = ((value>>56) & 0xFF);

? ? byte[1] = ((value>>48) & 0xFF);

? ? byte[2] = ((value>>40) & 0xFF);

? ? byte[3] = ((value>>32) & 0xFF);

? ? byte[4] = ((value>>24) & 0xFF);

? ? byte[5] = ((value>>16) & 0xFF);

? ? byte[6] = ((value>>8)? & 0xFF);

? ? byte[7] = (value & 0xFF);

? ? return byte;

}



byte數(shù)組轉為long long

+ (longlong)byteToLongLong:(Byte*)byte

{

? ? longlongvalue =0;

? ? value = (((longlong)byte[0] <<56&0xFF00000000000000L)|

?? ? ? ? ? ? ((longlong)byte[1] <<48&0xFF000000000000L)|

? ? ((longlong)byte[2] <<40&0xFF0000000000L)|

? ? ((longlong)byte[3] <<32&0xFF00000000L)|

? ? ((longlong)byte[4] <<24&0xFF000000L)|

? ? ((longlong)byte[5] <<16&0xFF0000L)|

? ? ((longlong)byte[6] <<8&0xFF00L)|

? ? ((longlong)byte[7] &0xFFL));

? ? returnvalue;

}


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容