將 C# byte[] 陣列轉換為十六進位字串
在 C# 中直接將 byte[]
陣列轉換為字串通常會產生不良結果,通常顯示「System.Byte[]」。 本指南展示如何有效地將位元組數組轉換為其十六進位 (hex) 字串表示形式,解決常見問題。
方法一:使用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>
此方法產生一個十六進位字串,帶或不帶連字符分隔位元組值。
方法2:使用Base64編碼(緊湊表示)
為了更緊湊的十六進位表示,請考慮 Base64 編碼:
<code class="language-csharp">string base64 = Convert.ToBase64String(data); // Result (will vary): AQIECBAg</code>
Base64 編碼提供了更短的字串表示形式,儘管它不是嚴格的十六進位格式。 如果空間效率至關重要,請選擇此方法。 請注意,產生的字串不能直接解釋為十六進位。
以上是如何在 C# 中將 byte[] 陣列轉換為十六進位字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!