我有一个需要转换为字节数组的十六进制字符串。最好的方法(即高效且代码最少)是:
string hexstr = "683A2134";
byte[] bytes = new byte[hexstr.Length/2];
for(int x = 0; x < bytes.Length; x++)
{
bytes[x] = Convert.ToByte(hexstr.Substring(x * 2, 2), 16);
}
在我有 32 位值的情况下,我可以执行以下操作:
string hexstr = "683A2134";
byte[] bytes = BitConverter.GetBytes(Convert.ToInt32(hexstr, 16));
但是在一般情况下呢?是否有更好的内置功能,或更清晰(不必更快,但仍然高效)的方式来做到这一点?
我更喜欢内置功能,因为除了这个特定的转换之外,似乎所有东西(很常见的东西)都有一个。