1.C#中int和byte[]转换:
/// <summary> /// 把int32类型的数据转存到4个字节的byte数组中 /// </summary> /// <param name="m">int32类型的数据 /// <param name="arry">4个字节大小的byte数组 public static bool ConvertIntToByteArray(Int32 m, ref byte[] arry) { if (arry == null) return false; if (arry.Length < 4) return false; arry[0] = (byte)(m & 0xFF); arry[1] = (byte)((m & 0xFF00) >> 8); arry[2] = (byte)((m & 0xFF0000) >> 16); arry[3] = (byte)((m >> 24) & 0xFF); return true; } /// <summary> /// 把byte数组中的前4个字节转换为int32类型的数据 /// </summary> public static int ConvertByteArrayToInt(byte[] arry) { return BitConverter.ToInt32(arry, 0); }
2.C++中byte[]与int类型转换
//int --> BYTE[]: int data = 0xFFFFFFFF; unsigned char buf[4]; memcpy(buf, &data, sizeof(int)); //BYTE[] --> int : memcpy(&data, buf, 4);