Converting a String to its Equivalent Byte Array in C#


String manipulation is a common task in C# programming. In certain cases, you might need to convert a string into its equivalent byte array, such as when dealing with encryption, file I/O, or network communication. This article will walk you through the process of converting a string to a byte array in C#, illustrating the power and flexibility of C# in handling various data types.

Understanding Strings and Byte Arrays in C#

Before diving into the conversion process, let's understand what strings and byte arrays are in C#. In C#, a string is a sequence of characters, while a byte array (byte[]) is an array that stores bytes — the raw data a computer can process.

Here is an example of a string and a byte array in C# −

string text = "Hello";
byte[] byteArray = { 72, 101, 108, 108, 111 };

In this example, text is a string that holds "Hello", and byteArray is a byte array that holds the ASCII values of the characters in "Hello".

Converting a String to a Byte Array

To convert a string to a byte array in C#, we can use the GetBytes method of the Encoding class. This method encodes all the characters in the specified string into a sequence of bytes.

Example

Here's an example −

using System;

class Program {
   static void Main() {
      string text = "Hello";
      byte[] byteArray = System.Text.Encoding.UTF8.GetBytes(text);

      foreach (byte b in byteArray) {
         Console.WriteLine(b);
      }
   }
}

In this example, we first define a string text with the value "Hello". We then call the GetBytes method on the Encoding.UTF8 instance to convert text into a byte array. The result is assigned to byteArray. We then print each byte in byteArray to the console.

Output

72101
108
108
111

Important Considerations

When converting a string to a byte array, keep in mind that the result depends on the encoding used. In the above example, we used UTF8 encoding, but other encodings like ASCII or Unicode can also be used. Different encodings can result in different byte arrays for the same string, so always ensure you're using the correct encoding for your specific use case.

Conclusion

Converting a string to a byte array in C# is a simple and straightforward task thanks to the Encoding class's GetBytes method. This conversion is an essential operation in various programming scenarios, including encryption, file handling, and network communication.

Updated on: 24-Jul-2023

1K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements