:C#中怎样获取数据库中长二进制字段的值(着急啊)
高手指点:C#中怎样获取数据库中长二进制字段的值(着急啊)
数据库中的长二进制字段原先是用C++方法将一个float型的变长数组写进去,现在是反过来,需要通过C#把这个字段的值取出放入到一个float型的数组中,不知道怎样一个个地截取二进制数据并转换为float型值。若能给些参考代码,不胜感激!!
------解决方案--------------------
数据库中的长二进制字段原先是用C++方法将一个float型的变长数组写进去,现在是反过来,需要通过C#把这个字段的值取出放入到一个float型的数组中,不知道怎样一个个地截取二进制数据并转换为float型值。若能给些参考代码,不胜感激!!
------解决方案--------------------
- C# code
SqlDataReader
------解决方案--------------------
byte[] newBytes = new byte[二进制数组的Length];
int j = 0;
for (int k = 0; k < strBytes.Length; )
{
string a = strBytes.Substring(k, 8);
newBytes[j] = Convert.ToByte(a, 2);
k = k + 8;
j++;
}
string b = Encoding.Default.GetString(newBytes);
以上是二进制转换为字符串的代码。供参考。。。
------解决方案--------------------
- C# code
byte[] bsfloat =...; System.IntPtr ptr =Marshal.UnsafeAddrOfPinnedArrayElement(bsfloat,0); float f = (float)Marshal.PtrToStructure( ptr ,typeof(float));
------解决方案--------------------
- C# code
BitConverter.ToSingle(bytes,0);