.NET Array Dictionary List String Sub ArrayList Cast Class Console Dates DataTable DateTime Enum File For Format If IndexOf Lambda LINQ Nothing Parse Process Property Regex Replace Select Sort Split StringBuilder Substring

Convert string, byte array. A String can be stored as a series of Bytes. This is an efficient encoding for ASCII-only Strings. It can make file formats more efficient. In VB.NET we can convert Strings to Byte arrays.

Example. The .NET Framework provides the powerful ASCII.GetBytes() Function. This Function receives an argument of String type. And it returns a Byte array reference. We do not need to allocate the Byte array—this is automatically done.

Byte Array
VB.NET program that converts String to Byte array

Module Module1
    Sub Main()
	' The input String.
	Dim value As String = "VB.NET"

	' Convert String to Byte array.
	Dim array() As Byte = System.Text.Encoding.ASCII.GetBytes(value)

	' Display Bytes.
	For Each b As Byte In array
	    Console.WriteLine("{0} = {1}", b, ChrW(b))
    End Sub
End Module


86 = V
66 = B
46 = .
78 = N
69 = E
84 = T

In this example, the six characters in VB.NET are converted into bytes. In a program, these six bytes could be written to a binary file, as with BinaryWriter. This is an efficient way to store ASCII-only characters.


Caution: If you try to write non-ASCII characters, this will cause serious trouble. Data will be lost or even corrupted.

Example 2. Continuing on, it is possible to convert Bytes into Strings. We do this with the ASCII.GetString() Function. This Function receives a Byte array argument. It returns a String instance containing the characters represented by those bytes.

VB.NET program that converts Byte array to String

Module Module1
    Sub Main()
	' Input Bytes.
	Dim array() As Byte = {86, 66, 46, 78, 69, 84}

	' Use GetString.
	Dim value As String = System.Text.ASCIIEncoding.ASCII.GetString(array)
    End Sub
End Module



We see that the output of this program is same as the previous program. ASCII.GetString round-trips the bytes from ASCII.GetBytes. We use these two Functions together. Other Functions, such as ASCII.GetChars, are also available.

ASCII.GetChars: This returns a Char array containing the characters represented by the individual Bytes.

String Constructor

ASCII.GetCharCount: This Function returns the number of characters in the output Char array.

Array Length

Summary. Developing an efficient way to store character data is important. It helps programs save data faster. It helps them load data faster. It also creates a file format standard that, if enforced, improves program quality.