可能重复:
How to convert numbers between hexadecimal and decimal in C#?
我正在努力使用c#转换为signed int 让我说我有一个快速的字符串:
AAFE B4FE B8FE
这里我们有3个样本。每个样本(带符号16位)写为4位数的ASCII十六进制序列(2x2位/字节)。
有什么建议吗? 谢谢。
答案 0 :(得分:1)
您可以使用接受基数的Convert
类中的重载来解析任何标准库的数字字符串。在这种情况下,您可能希望this重载。
然后你可以这样做:
var groupings = "AAFE B4FE B8FE".Split();
var converted = groupings
.Select(grouping => Convert.ToInt16(grouping, 16))
.ToList();
答案 1 :(得分:1)
如果需要指定已解析值的字节序(而不是假设它们是以little-endian字节顺序排列),那么您需要将每个byte
放在结果{中}的适当位置。 {1}}。
请注意,如果字符串值格式不正确,则会在short
中抛出异常。
HexToByte