C# 將位元組陣列轉換為字串

Minahil Noor 2024年2月16日
  1. 使用 C# 中的 Encoding.GetString() 方法將位元組陣列轉換為字串
  2. C# 使用 MemoryStream 方法將位元組陣列轉換為字串
C# 將位元組陣列轉換為字串

位元組陣列是位元組陣列。在 C# 中,位元組陣列用於僅儲存 0-255 之間的正值。陣列中的每個元素的儲存空間均為 1 個位元組(8 位)。

在 C# 中,可以像處理普通的陣列一樣處理位元組陣列。有趣的是,位元組陣列可以轉換為等效的字串。字串可以轉換為不同的編碼值,然後儲存在位元組陣列中。

在本文中,我們將探討將位元組陣列轉換為字串的不同方法。

使用 C# 中的 Encoding.GetString() 方法將位元組陣列轉換為字串

Encoding.GetString() 方法將位元組陣列的所有位元組轉換為字串。此方法屬於 Encoding 類。此類具有不同的編碼方案,例如 Unicode,UTF8,ASCII,UTF32 等。

此方法的正確語法如下:

Encoding.Default.GetString(ByteArrayName);

這裡使用了 Encoding.Default.GetString(),它將把位元組陣列的位元組轉換成預設的字串型別。它將使用預設的編碼方案。

示例程式碼:

using System;
using System.Text;

namespace Example {
  class Conversion {
    static void Main(string[] args) {
      byte[] ByteArray = {
        84, 104, 105, 115, 32, 105, 115, 32, 101, 120, 97, 109, 112, 108, 101,
      };
      Console.WriteLine("The Byte Array is: " + String.Join(" ", ByteArray));
      string String = Encoding.Default.GetString(ByteArray);
      Console.WriteLine("The String is: " + String);
    }
  }
}

輸出:

The Byte Array is: 84 104 105 115 32 105 115 32 101 120 97 109 112 108 101
The String is: This is example

C# 使用 MemoryStream 方法將位元組陣列轉換為字串

在 C# 中,MemoryStream 類用於建立資料流。此類屬於 System.IO 名稱空間。它可以用於將位元組陣列轉換為字串。

此方法的正確語法如下:

using (MemoryStream Stream = new MemoryStream(ByteArrayName)) {
  using (StreamReader streamReader = new StreamReader(Stream)) {
    return streamReader.ReadToEnd();
  }
}

在這裡,我們建立了一個 MemoryStream,其中包含特定位元組陣列的位元組。然後,我們使用了 StreamReader 來從 MemoryStream 讀取所有位元組,並將流作為字串返回。

我們建立了一個名為 BytesToStringConversion() 的自定義方法,該方法接受一個位元組陣列作為引數,然後返回一個字串。

示例程式碼:

using System;
using System.Text;
using System.IO;

namespace Example {
  class Conversion {
    static string BytesToStringConversion(byte[] bytes) {
      using (MemoryStream Stream = new MemoryStream(bytes)) {
        using (StreamReader streamReader = new StreamReader(Stream)) {
          return streamReader.ReadToEnd();
        }
      }
    }
    static void Main(string[] args) {
      byte[] ByteArray = {
        84, 104, 105, 115, 32, 105, 115, 32, 101, 120, 97, 109, 112, 108, 101,
      };
      Console.WriteLine("The Byte Array is: " + String.Join(" ", ByteArray));

      string str = BytesToStringConversion(ByteArray);
      Console.WriteLine("The String is: " + str);
    }
  }
}

輸出:

The Byte Array is: 84 104 105 115 32 105 115 32 101 120 97 109 112 108 101
The String is: This is example

相關文章 - Csharp Byte Array

相關文章 - Csharp String