public static byte[] FromHex(string s) { SecurityAssert.Assert(s.Length % 2 == 0); var buffer = new byte[s.Length / 2]; for (var i = 0; i < buffer.Length; i++) { buffer[i] = (byte)(FromHex(s[2 * i]) << 4 | FromHex(s[2 * i + 1])); } return(buffer); }
public static byte[] GetBytes(this BitArray arr, int bitOffset, int byteLength) { SecurityAssert.NotNull(arr); SecurityAssert.Assert(bitOffset < arr.Length); SecurityAssert.Assert(bitOffset + byteLength * 8 < arr.Length + 7); var buffer = new byte[byteLength]; for (var i = 0; i < byteLength; i++) { buffer[i] = arr.GetByte(bitOffset + i * 8); } return(buffer); }