C# 將位元組陣列轉換為字串
Minahil Noor
2024年2月16日
位元組陣列是位元組陣列。在 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