C# int和byte之間的互轉
1.方式一:手動位移
/// <summary>
/// int轉byte
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
public static byte[] intToBytes(int value)
{
byte[] src = new byte[4];
src[3] = (byte)((value >> 24) & 0xFF);
src[2] = (byte)((value >> 16) & 0xFF);
src[1] = (byte)((value >> 8) & 0xFF);
src[0] = (byte)(value & 0xFF);
return src;
}
/// <summary>
/// byte轉int
/// </summary>
/// <param name="src"></param>
/// <param name="offset"></param>
/// <returns></returns>
public static int bytesToInt(byte[] src, int offset)
{
int value;
value = (int)((src[offset] & 0xFF)
| ((src[offset + 1] & 0xFF) << 8)
| ((src[offset + 2] & 0xFF) << 16)
| ((src[offset + 3] & 0xFF) << 24));
return value;
}
2.方式二:使用BitConverter
/// <summary> /// 數字和位元組之間互轉 /// </summary> /// <param name="num"></param> /// <returns></returns> public static int IntToBitConverter(int num) { int temp = 0; byte[] bytes = BitConverter.GetBytes(num);//將int32轉換為位元組陣列 temp = BitConverter.ToInt32(bytes, 0);//將位元組陣列內容再轉成int32型別 return temp; }