たとえば、住所を取得したいと思います。0x8402e42d。ただし、現在は文字列形式であり、8402e42dになります。ボタンを押すと、テキストボックス(この場合は8402e42d)から文字列が取り出され、0x8402e42dに変換されます。私はこれを行う方法を知っていましたが、忘れていました。助けてくれてありがとう。
また、これを行うための最も簡単な方法を知りたいと思います。
16 進数のプレフィックスを含む文字列に変換するには、プレフィックスを追加するだけです。
address = "0x" + address;
文字列を数値に変換するには、次のParse
メソッドを使用します。
uint n = UInt32.Parse(address, NumberStyles.HexNumber);
(注: 16 進数のプレフィックスを付けずに文字列を解析する必要があります0x
。)
単一の数値ではなくバイトの配列が必要な場合は、次のBitConverter.GetBytes
メソッドを使用します。
byte[] data = BitConverter.GetBytes(n);
配列内のバイトはネイティブな順序で配置されることに注意してください。つまり、リトル エンディアン システム (Intel など) では、最下位バイトが最初になります。
プロパティをチェックしBitConverter.IsLittleEndian
てシステムのエンディアンを確認し、配列を反転して特定のエンディアンを取得できます。
if (BitConverter.IsLittleEndian) {
Array.Reverse(data);
}