- How to convert byte array to string in C#?
- Example
- Output
- Example
- Output
- Converting Byte Array to String in C#
- Introduction:
- Method 1: Encoding.ASCII.GetString()
- Output:
- Method 2: Encoding.UTF8.GetString()
- Output:
- Method 3: Convert.ToBase64String()
- Output:
- Method 4: BitConverter.ToString()
- Output:
- Conclusion:
- Related Post
- Convert Byte To String In C#
- Convert Byte To String Using Encoding.ASCII.GetString()
- Convert Byte To String Using Encoding.UTF8.GetString()
- Convert Byte To String Using BitConverter.ToString()
- Conclusion
- C# Convert Byte Array to String
- Convert a Byte Array to a String Using Encoding.GetString() Method in C#
- C# Program to Convert a Byte Array to a String Using MemoryStream Method
How to convert byte array to string in C#?
In .Net, every string has a character set and encoding. A character encoding tells the computer how to interpret raw zeroes and ones into real characters. It usually does this by pairing numbers with characters. Actually, it is the process of transforming a set of Unicode characters into a sequence of bytes.
We can use Encoding.GetString Method (Byte[]) to decodes all the bytes in the specified byte array into a string. Several other decoding schemes are also available in Encoding class such as UTF8, Unicode, UTF32, ASCII etc. The Encoding class is available as part of System.Text namespace.
string result = Encoding.Default.GetString(byteArray);
Example
using System; using System.Text; namespace DemoApplication < public class Program < static void Main(string[] args) < byte[] byteArray = Encoding.Default.GetBytes("Hello World"); Console.WriteLine($"Byte Array is:"); string str = Encoding.Default.GetString(byteArray); Console.WriteLine($"String is: "); Console.ReadLine(); > > >
Output
The output of the above code is
Byte Array is: 72 101 108 108 111 32 87 111 114 108 100 String is: Hello World
It is important to note that we should use the same encoding for both directions. For example, if the byte array is encoded with ASCII and we are trying to get the string using UTF32, we won’t get the desired string.
Example
using System; using System.Text; namespace DemoApplication < public class Program < static void Main(string[] args) < byte[] byteArray = Encoding.ASCII.GetBytes("Hello World"); Console.WriteLine($"Byte Array is:"); string str = Encoding.UTF32.GetString(byteArray); Console.WriteLine($"String is: "); Console.ReadLine(); > > >
Output
The output of the above code is
Byte Array is: 72 101 108 108 111 32 87 111 114 108 100 String is: .
Converting Byte Array to String in C#
In this blog, we will provide a comprehensive guide on how to convert byte array to string in C#. It covers four commonly used methods for converting byte array to string, including Encoding.ASCII.GetString(), Encoding.UTF8.GetString(), Convert.ToBase64String(), and BitConverter.ToString(). Each method is explained in detail, and sample programs are provided to demonstrate how they work.
Introduction:
In C#, byte arrays are used to store binary data. However, there are instances where we need to convert these byte arrays to strings, such as when we want to transmit the data over the network or store it in a text file. There are several methods available in C# for converting byte arrays to strings, and in this blog, we will discuss some of the most commonly used methods along with their advantages and disadvantages.
Method 1: Encoding.ASCII.GetString()
The Encoding.ASCII.GetString() method is a built-in method provided by C# that converts a byte array to a string using ASCII encoding. This method is simple and easy to use, and it is suitable for scenarios where the byte array only contains ASCII characters.
Here’s an example program that demonstrates how to use this method:
byte[] byteArray = < 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100 >; string str = Encoding.ASCII.GetString(byteArray); Console.WriteLine(str);
Output:
Method 2: Encoding.UTF8.GetString()
The Encoding.UTF8.GetString() method is another built-in method provided by C# that converts a byte array to a string using the UTF-8 encoding. UTF-8 is a widely used encoding format that can handle a wide range of characters, including non-ASCII characters.
Here’s an example program that demonstrates how to use this method:
byte[] byteArray = < 240, 159, 145, 132, 240, 159, 145, 133 >; string str = Encoding.UTF8.GetString(byteArray); Console.WriteLine(str);
Output:
Method 3: Convert.ToBase64String()
The Convert.ToBase64String() method is a built-in method provided by C# that converts a byte array to a Base64-encoded string. Base64 encoding is a technique used to convert binary data into a string format that can be transmitted over the network or stored in a text file.
Here’s an example program that demonstrates how to use this method:
byte[] byteArray = < 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100 >; string str = Convert.ToBase64String(byteArray); Console.WriteLine(str);
Output:
Method 4: BitConverter.ToString()
The BitConverter.ToString() method is a built-in method provided by C# that converts a byte array to a string of hexadecimal values. This method is useful for scenarios where we need to represent binary data in a human-readable format.
Here’s an example program that demonstrates how to use this method:
byte[] byteArray = < 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100 >; string str = BitConverter.ToString(byteArray).Replace("-", ""); Console.WriteLine(str);
Output:
Conclusion:
In this blog, we have discussed four methods for converting byte arrays to strings in C#. These methods include Encoding.ASCII.GetString() , Encoding.UTF8.GetString() , Convert.ToBase64String() , and BitConverter.ToString() . Each of these methods has its own advantages and disadvantages, and the choice of method depends on the specific scenario and requirements of the application.
Related Post
Convert Byte To String In C#
Converting a byte array to a string is a common task in C#, especially when working with data that has been encoded in bytes, such as image files or network packets. In this blog post, we’ll explore several methods for converting byte arrays to strings in C#.
Convert Byte To String Using Encoding.ASCII.GetString()
The Encoding.ASCII.GetString() method can be used to convert a byte array to a string using the ASCII character encoding. Here’s an example:
byte[] bytes = new byte[] < 65, 66, 67 >; string result = Encoding.ASCII.GetString(bytes);
In this example, we create a byte array with the values 65, 66, and 67, which correspond to the ASCII characters ‘A’, ‘B’, and ‘C’. We then use the Encoding.ASCII.GetString() method to convert the byte array to a string.
Convert Byte To String Using Encoding.UTF8.GetString()
The Encoding.UTF8.GetString() method can be used to convert a byte array to a string using the UTF-8 character encoding, which supports a wider range of characters than ASCII. Here’s an example:
byte[] bytes = new byte[] < 230, 152, 135, 229, 143, 139 >; string result = Encoding.UTF8.GetString(bytes);
In this example, we create a byte array with the values 230, 152, 135, 229, 143, and 139, which correspond to the UTF-8 encoded Chinese characters ‘你好’. We then use the Encoding.UTF8.GetString() method to convert the byte array to a string.
Convert Byte To String Using BitConverter.ToString()
The BitConverter.ToString() method can be used to convert a byte array to a string of hexadecimal digits. Here’s an example:
byte[] bytes = new byte[] < 0x12, 0x34, 0x56 >; string result = BitConverter.ToString(bytes).Replace("-", "");
In this example, we create a byte array with the values 0x12, 0x34, and 0x56. We then use the BitConverter.ToString() method to convert the byte array to a string of hexadecimal digits, and remove the ‘-‘ separator between each pair of digits.
Conclusion
In this blog post, we’ve explored several methods for converting byte arrays to strings in C#. Depending on the specific requirements of your application, one of these methods may be more suitable than the others. By understanding the capabilities and limitations of each method, you can choose the one that best meets your needs.
C# Convert Byte Array to String
- Convert a Byte Array to a String Using Encoding.GetString() Method in C#
- C# Program to Convert a Byte Array to a String Using MemoryStream Method
A byte array is an array of bytes. In C#, a byte array is used to store only positive values ranging from 0-255. Each element in the array has a memory space of 1 byte (8 bits ).
In C#, a byte array can be processed just like a normal array. It is interesting to know that a byte array can be converted to its equivalent string. A string can be converted to different encoding values and then stored in a byte array.
In this article, we are going to check out different methods to convert a byte array into a string. Let’s dive in.
Convert a Byte Array to a String Using Encoding.GetString() Method in C#
The method Encoding.GetString() converts all bytes of a byte array into a string. This method belongs to the Encoding class. This class has different encoding schemes like Unicode , UTF8 , ASCII , UTF32 , etc.
The correct syntax to use this method is as follows:
Encoding.Default.GetString(ByteArrayName);
Here Encoding.Default.GetString() is used, it will convert the bytes of the byte array into the default type string. It will use the default encoding scheme.
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# Program to Convert a Byte Array to a String Using MemoryStream Method
In C#, MemoryStream class is used to create a stream of data. This class belongs to System.IO namespace. It can be used to convert a byte array to a string.
The correct syntax to use this method is as follows:
using (MemoryStream Stream = new MemoryStream(ByteArrayName)) using (StreamReader streamReader = new StreamReader(Stream)) return streamReader.ReadToEnd(); > >