我有以下十六进制字符串(小端格式):
ffffffffffff0800272bfcf608004500
我需要将它解码成几个字段。我知道第一个字段是'版本'的标记,它是一个uint16。我有一个Python脚本解码上面的字符串,它告诉我'版本'是258.现在我正在尝试用C#解码它。
根据我的理解,uint16是2个字节,所以ffff(每个字符4位)应该给我'版本'标记正确吗?我用
UInt16.Parse("ffff");
但我得到错误:
"Input string was not in a correct format."
我究竟做错了什么?
你可以这样做:
int result = int.Parse("ffff", System.Globalization.NumberStyles.HexNumber);
要么
int result = Convert.ToInt16("ffff", 16);
请注意,第二个参数是第一种情况下的提供者,而第二种参数是基础。