0

我想取一个地址让我们说。0x8402e42d,但它目前是字符串形式,即 8402e42d。我想要它,所以我按下一个按钮,它将字符串从文本框中取出,在本例中为 8402e42d,并将其转换为 0x8402e42d。我曾经知道如何做到这一点,但我忘记了。在此先感谢您的帮助。

我也希望知道这样做的最简单方法。

4

1 回答 1

0

要将其转换为具有十六进制前缀的字符串,您只需添加前缀:

address = "0x" + address;

要将字符串转换为数字,请使用以下Parse方法:

uint n = UInt32.Parse(address, NumberStyles.HexNumber);

(注意:您应该解析没有十六进制前缀的字符串0x。)

如果您想要一个字节数组而不是单个数值,请使用以下BitConverter.GetBytes方法:

byte[] data = BitConverter.GetBytes(n);

请注意,数组中的字节将按本机顺序放置,即在 little endian 系统(例如 Intel)上,最低有效字节在前。

您可以检查该BitConverter.IsLittleEndian属性以找出系统的字节序,并反转数组以获得特定的字节序:

if (BitConverter.IsLittleEndian) {
  Array.Reverse(data);
}
于 2012-09-25T00:26:28.983 回答