我想说一个地址。 0x8402e42d除了它当前是字符串形式,它只是8402e42d。我想要它所以我按下一个按钮,它从文本框中取出字符串,在这种情况下是8402e42d,并将其转换为0x8402e42d。我曾经知道如何做到这一点,但我忘记了。在此先感谢您的帮助。
我也想知道最简单的方法。
答案 0 :(得分:0)
要将其转换为带有十六进制前缀的字符串,您只需添加前缀:
address = "0x" + address;
要将字符串转换为数字,请使用Parse
方法:
uint n = UInt32.Parse(address, NumberStyles.HexNumber);
(注意:您应该解析不带十六进制前缀0x
的字符串。)
如果您想要一个字节数组而不是一个数字值,请使用BitConverter.GetBytes
方法:
byte[] data = BitConverter.GetBytes(n);
请注意,数组中的字节将按本机顺序放置,即在小端系统(例如Intel)上放置,最低有效字节优先。
您可以检查BitConverter.IsLittleEndian
属性以找出系统的字节顺序,并反转数组以获得特定的字节序:
if (BitConverter.IsLittleEndian) {
Array.Reverse(data);
}