将字符串转换为十六进制字节数组
c#
我需要将字符串转换为十六进制表示的字节数组。例如:
值:06000002 我需要的是:
30 36 30 30 30 30 30 32
我尝试将所有字符隐式转换为字节,如下所示:
byte[] bytes = new byte[daten.Length];
for (int i = 0; i < daten.Length; i++)
{
int value = Convert.ToInt32(daten[i]);
bytes[i] = (byte)daten[i];
}
但是我总是得到这个结果:
48 54 48 48 48 48 48 50
我不需要字符串形式的结果!我需要它作为字节数组!
如何达到这个目标?
回答
您只需要:
var value = "06000002";
byte[] bytes = Encoding.UTF8.GetBytes(value);
在 .NET 5 中,您可以使用
string hexString = Convert.ToHexString(bytes);
验证您的结果是否符合您的预期
3036303030303032
https://dotnetfiddle.net/6sUmgE