首頁 >後端開發 >C++ >如何在 C# 中將 byte[] 陣列轉換為十六進位字串?

如何在 C# 中將 byte[] 陣列轉換為十六進位字串?

DDD
DDD原創
2025-01-20 11:21:09446瀏覽

How to Convert a byte[] Array to a Hex String in C#?

將 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn