Avatar billede jonbdk Nybegynder
16. oktober 2003 - 22:47 Der er 7 kommentarer og
1 løsning

Konvertere byte() til string

Jeg har en UDP socket der lytter efter et svar fra en halflife/counterstrike server.
Jeg har en anelse om hvordan svaret skal se ud, men problemet ligger i konverteringen fra det byte() jeg gemmer som og til ascii.

-- kode udsnit --
        Dim recieveBytes As Byte()
        recieveBytes = sck_Data.Receive(RemoteIPEndPoint)
        Dim cnt
        Dim strRes As String = ""
        MsgBox(recieveBytes.Length)
        For cnt = 0 To recieveBytes.Length - 1
            strRes = strRes & " " & (recieveBytes(cnt))
        Next
        MsgBox(strRes)
        Me.TextBox1.Text = ("Data Recieved: " & Encoding.ASCII.GetString(recieveBytes))
-- kode udsnit --
Når jeg skriver den konverterede streng i tekstarea, får jeg kun de første karakterer (ca. 15).
Skriver jeg byte-værdier ud (med msgbox metoden) kan jeg se, at mit array indeholder 129 bytes.
Hvad gøre jeg galt?
Hvis I vil have hele source, så sig til
Avatar billede jonbdk Nybegynder
16. oktober 2003 - 22:48 #1
KAn det være fordi at en af de modtagne karakterer er den samme som terminerer en vb string eller noget?
Avatar billede arne_v Ekspert
16. oktober 2003 - 23:02 #2
en nul byte måske ?
Avatar billede jonbdk Nybegynder
16. oktober 2003 - 23:04 #3
ja - det vil jeg tro - hvordan slipper jeg for det problem?
Avatar billede jonbdk Nybegynder
16. oktober 2003 - 23:06 #4
Kunne jeg substituere nulbyten med noget andet, og hvis ja, hvordan laver jeg en nul byte (if (recieveBytes(cnt) = ??? THEN )
Avatar billede jonbdk Nybegynder
16. oktober 2003 - 23:08 #5
arne_v det var lige hvad jeg skulle bruge :) Smider du et svar, så er der point til dig
Avatar billede arne_v Ekspert
16. oktober 2003 - 23:10 #6
OK

(selvom jeg ikke syntes at jeg har været særligt præcis med hensyn til
hverken fejl eller løsning)
Avatar billede jonbdk Nybegynder
16. oktober 2003 - 23:13 #7
Du hjalp mig lige det stykke jeg skulle bruge - det var bare lige et skub
Avatar billede jonbdk Nybegynder
16. oktober 2003 - 23:15 #8
For oplysning gjorde jeg således: (erstatter 0 med 95 /_)
        For cnt = 0 To recieveBytes.Length - 1
            If (recieveBytes(cnt)) = 0 Then
                recieveBytes(cnt) = 95
            End If
        Next
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester