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

Minahil Noor 2023年1月30日 2020年6月9日
  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