IP アドレス文字列を 16 進文字列 (ドットを含む) に変換し、変換された 16 進値を返す方法はありますか?
"10.10.10.11"
にhex(7):31,00,30,00,2e,00,31,00,30,00,2e,00,31,00,30,00,2e,00,31,00,00,00,00,00
乾杯!
IP アドレス文字列を 16 進文字列 (ドットを含む) に変換し、変換された 16 進値を返す方法はありますか?
"10.10.10.11"
にhex(7):31,00,30,00,2e,00,31,00,30,00,2e,00,31,00,30,00,2e,00,31,00,00,00,00,00
乾杯!
あなたの質問を読んで、あなたが実際に IP アドレス文字列をその Unicode 表現に変換したいことを理解しています。そこから、基礎となるバイトのカンマ区切りのリスト (16 進数でエンコードされたもの) を生成したいと考えています。
これはトリックを行います:
string.Join(",", Encoding.Unicode.GetBytes("10.10.10.11").Select(x => x.ToString("X2")))
出力:
31,00,30,00,2E,00,31,00,30,00,2E,00,31,00,30,00,2E,00,31,00,31,00
クラスを使用するSystem.Net.IPAddress
と、バイト配列として取得できるはずです。
var address = System.Net.IPAddress.Parse("10.10.10.11");
var bytes = address.GetAddressBytes();