0

この質問に続いて、いくつかのメモリ値を long ではなく文字列に設定する必要があります。Cheat Engine を使用していて、メモリ領域を参照してアドレスの値を文字列に設定すると、「6513249」が「abc」などの整数値があることに気付きました。

long として使用するために、文字列をこの形式に変換するにはどうすればよいでしょうか。

ありがとう。

4

1 に答える 1

2

Encoding.GetBytesを使用して適切なエンコーディングで文字列をバイト配列に変換し、バイトを直接書き込むよりも、結局longに変換する必要がない場合があります。

longに変換する必要がある場合は、エンディアンを理解して最初に何バイトを使用するかを確認し、エンコードを理解して、Encoding.GetBytesを使用して文字(サロゲートペアを含む可能性があります)をバイト配列に変換し、8ごとにlong値を結合します。バイトにシフト演算子(>>および<<)を使用してバイト。結果のバイト配列をMemeoryStreamでラップし、BinaryReaderよりも長い値を読み取る方が簡単な場合があります。

于 2012-09-18T05:05:52.057 に答える