• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 232
  • Last Modified:

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
control:

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

   tcpServer.SendData StringData
 
Your help would be appreciated.
Peet
     
0
peet
Asked:
peet
1 Solution
 
swiltCommented:
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

0
 
karmiCommented:
The following line  will convert the type of the array to string

StringData = StrConv(anArray, vbUnicode)
0
 
mark2150Commented:
MyString = ""
FOR ndx = 0 to 4095
    MyString = MyString & CHR( anArray( ndx ) )
NEXT ndx


0
 
peetAuthor Commented:
karmi,

Thanks a lot for the help

peet
0
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.

Join & Write a Comment

Featured Post

The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

Tackle projects and never again get stuck behind a technical roadblock.
Join Now