我需要使用rowversion
将sql server 2008
列中的byte
列的字符串表示转换为c#
String rowversion = "0x000000000001265E";
我想将其转换为byte[]
任何想法?
答案 0 :(得分:2)
试试这个
String rowversion = "0x000000000001265E";
byte[] mybyteArray = Convert.FromBase64String(rowversion);
答案 1 :(得分:0)
char[] chrArr = rowVersion.ToCharArray();
byte[] objBytes = new byte[charArr.Length];
for(int x=2;x<charArr.Length;x++)
{
objBytes[i] = (byte)charArr[x];
}
答案 2 :(得分:0)
using System;
using System.Linq;
byte[] RowVersionConverter(string rowVersion)
{
var value = ulong.Parse(rowVersion.SubString(2), System.Globalization.NumberStyles.HexNumber);
return BitConverter.GetBytes(value);
}
这可能对你有用。但我认为这很可能与 SQL 期望的顺序相反。所以你可能想要这个:
byte[] RowVersionConverter(string rowVersion)
{
var value = ulong.Parse(rowVersion.SubString(2), System.Globalization.NumberStyles.HexNumber);
return BitConverter.GetBytes(value).Reverse().ToArray();
}