【发布时间】:2010-09-24 04:43:15
【问题描述】:
我们可以使用 C# 中的内置函数将十六进制字符串转换为字节数组,还是我必须为此创建一个自定义方法?
【问题讨论】:
-
您可以在一行中轻松地将字符串转换为字节[]:var byteArray = Encoding.ASCII.GetBytes(string_with_your_data);
-
@mik-T,十六进制字符串采用某种格式,例如 219098C10D7,每两个字符转换为一个字节。你的方法不可用。
-
此问题似乎与所选问题不重复。这一个将 FROM 十六进制字符串转换为字节数组,但是其他问题将字节数组转换为十六进制。
-
一个简单的单行代码:
BigInteger.Parse(str, System.Globalization.NumberStyles.HexNumber).ToByteArray().Reverse().ToArray() -
@GregoryMorse 请注意,BigInteger 假定字符串表示有符号数,如果 MSB 的最高有效位为 1,则会给出意外结果,除非您进行特殊处理。