VB.NET Convert String, Byte Array

Array type

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

Byte type

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
Program that converts String to Byte array: VB.NET

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))
	Next
    End Sub
End Module

Output

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

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.

ByteCharBinaryWriter

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

Example 2

String type

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.

Program that converts Byte array to String: VB.NET

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)
	Console.WriteLine(value)
    End Sub
End Module

Output

VB.NET
Squares

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

The VB.NET programming language

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.


VB.NET: String