polsok Asked:2022-05-21 16:21:59 +0000 UTC2022-05-21 16:21:59 +0000 UTC 2022-05-21 16:21:59 +0000 UTC 从字符串中获取字节数组作为十六进制数 772 例如,我有这样的一行"A329DF34"。如何把它变成一个4字节的数组? 当然,你也可以把它分成2的部分,然后把每一部分变成一个数字 from 0to 255,然后将结果保存为一个字节数组。但也许有一个标准的解决方案? c# 1 个回答 Voted Best Answer aepot 2022-05-21T17:19:05Z2022-05-21T17:19:05Z 一个简单的解决方案“在额头上” static void Main(string[] args) { string hex = "A329DF34"; byte[] bytes = new byte[hex.Length / 2]; for (int i = 0; i < bytes.Length; i++) bytes[i] = Convert.ToByte(hex.Substring(i * 2, 2), 16); Console.WriteLine(string.Join(", ", bytes)); } 控制台输出 163, 41, 223, 52 如果数组中恰好有 4 个字节,则替代解决方案 static void Main(string[] args) { string hex = "A329DF34"; uint number = Convert.ToUInt32(hex, 16); byte[] bytes = BitConverter.GetBytes(number); Array.Reverse(bytes); Console.WriteLine(string.Join(", ", bytes)); } 对于.NET 5和更新版本,有一个内置的解决方案 static void Main(string[] args) { string hex = "A329DF34"; byte[] bytes = Convert.FromHexString(hex); Console.WriteLine(string.Join(", ", bytes)); } 更多不同的解决方案可以在这里找到。
一个简单的解决方案“在额头上”
控制台输出
如果数组中恰好有 4 个字节,则替代解决方案
对于.NET 5和更新版本,有一个内置的解决方案
更多不同的解决方案可以在这里找到。