Convert String <--> Byte Array ?

How do you convert a Byte Array to a String ?
( Without moving big chunks of data )
I have :
Dim anArray(4096) As Byte
Dim StringData As String

I use the Win API
ReadFile(h, anArray(0),BytesToRead, BytesRead, 0) to read the data. I then want to transmit the data with the WinSock

   StringData <-- anArray  ????????????????

   tcpServer.SendData StringData
Your help would be appreciated.
Who is Participating?
karmiConnect With a Mentor Commented:
The following line  will convert the type of the array to string

StringData = StrConv(anArray, vbUnicode)
First of all Dim anArray(4096) As Byte declares a 4097 byte array starting at 0
A byte in VB is like a small integer rather than a char
There may be a way of doing this, but it would be using the Win API
4097 bytes is a small chunk of data

    Dim anArray(4) As Byte ' 5 byte array (0 to 4)
    Dim StringData As String
    Dim i As Integer

    anArray(0) = Asc("H")
    anArray(1) = Asc("e")
    anArray(2) = Asc("l")
    anArray(3) = Asc("l")
    anArray(4) = Asc("o")
    'StringData = CStr(anArray()) 'This will not work
    For i = LBound(anArray) To UBound(anArray)
        StringData = StringData & Chr$(anArray(i))
    Next i
    MsgBox StringData

MyString = ""
FOR ndx = 0 to 4095
    MyString = MyString & CHR( anArray( ndx ) )
NEXT ndx

peetAuthor Commented:

Thanks a lot for the help

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.