C# の byte[] 配列を 16 進文字列に変換する
C# で byte[]
配列を文字列に直接変換すると、多くの場合、望ましくない結果が生じ、通常は「System.Byte[]」が表示されます。 このガイドでは、バイト配列を 16 進数 (hex) 文字列表現に効率的に変換し、一般的な問題に対処する方法を示します。
方法 1: BitConverter を使用する
BitConverter
クラスは簡単なソリューションを提供します。
<code class="language-csharp">byte[] data = { 1, 2, 4, 8, 16, 32 }; string hex = BitConverter.ToString(data); // Result: 01-02-04-08-10-20 string hexNoDashes = BitConverter.ToString(data).Replace("-", ""); // Result: 010204081020</code>
このメソッドは、バイト値を区切るハイフンの有無にかかわらず、16 進文字列を生成します。
方法 2: Base64 エンコーディングを使用する (コンパクトな表現)
よりコンパクトな 16 進数表現については、Base64 エンコードを検討してください。
<code class="language-csharp">string base64 = Convert.ToBase64String(data); // Result (will vary): AQIECBAg</code>
Base64 エンコーディングは、厳密には 16 進形式ではありませんが、より短い文字列表現を提供します。 スペース効率が最優先される場合は、この方法を選択してください。 結果の文字列は 16 進数として直接解釈できないことに注意してください。
以上がC# で byte[] 配列を 16 進文字列に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。