C# Byte Array to String Conversion: A Comprehensive Guide
This guide provides a detailed explanation of converting a byte array to a string in C#. This is a common task, particularly when dealing with data serialization or network communication.
You've already created a byte array using BinaryWriter
, containing two strings. To reconstruct these strings, you need to specify the encoding used during the initial writing process.
The simplest approach uses the system's default encoding:
<code class="language-csharp">var str = System.Text.Encoding.Default.GetString(result);</code>
This method converts result
(your byte array) to a string using your system's default character encoding. However, for better reliability and cross-platform compatibility, explicitly specifying the encoding is highly recommended.
To use a specific encoding (e.g., UTF-8, UTF-16, ASCII), use this code:
<code class="language-csharp">var str = System.Text.Encoding.GetEncoding("YourEncoding").GetString(result);</code>
Remember to replace "YourEncoding"
with the correct encoding name. Using UTF-8 is generally preferred for its broad support and ability to handle a wide range of characters. For example:
<code class="language-csharp">var str = System.Text.Encoding.UTF8.GetString(result);</code>
Choosing the correct encoding is crucial. Using an incorrect encoding will lead to data corruption or garbled text. Ensure you use the same encoding for both writing the byte array and reading it back into a string.
The above is the detailed content of How to Convert a Byte Array to a String in C#?. For more information, please follow other related articles on the PHP Chinese website!