我正在尝试将字符串转换为bitarray的函数, 与bitarray约会 时间到bitarray 字节到数组。 谁能帮助我在c#中帮助我完成这些功能。
答案 0 :(得分:2)
您可以在框架中构建的最接近的是System.BitConverter
类和System.Text.Encoding.GetBytes()
方法。除此之外,你需要convert those byte arrays into bit arrays的代码(但是,实际上,对于任何理智的操作,字节数组更好)并且这些都不包括日期/时间信息(你可能会看到转换DateTime&#39 ;而是Ticks
属性。)
答案 1 :(得分:2)
为了完整性,我将包括将任意对象转换为字节数组的方法(它可能比BinaryFormatter和MemoryStream更快):
public static byte[] ToByteArray(object obj)
{
int len = Marshal.SizeOf(obj);
byte[] arr = new byte[len];
IntPtr ptr = Marshal.AllocHGlobal(len);
Marshal.StructureToPtr(obj, ptr, true);
Marshal.Copy(ptr, arr, 0, len);
Marshal.FreeHGlobal(ptr);
return arr;
}
答案 2 :(得分:1)
如果您将任何类型视为对象,则可以使用常规方法获取byte[]
private byte[] ObjectToByteArray(Object myObject)
{
if(myObject == null)
return null;
BinaryFormatter bF = new BinaryFormatter();
MemoryStream mS = new MemoryStream();
bF.Serialize(mS, myObject);
return ms.ToArray();
}
然后您可以将其提供给BitArray
的构造函数