Gå til innhold

Hvordan konvertere en 14 bytes bytearray til decimal?


Anbefalte innlegg

Hei,

 

Jeg leser inn en binærfil hvor jeg matcher på hex. Dvs at jeg finner en hex tag. Denne sier meg at dataene jeg skal ha ligger bak denne taggen. Jeg programmerer vb.net og bruker BinaryReader for å lese inn. Denne klassen har ikke funksjoner for å konvertere 14 bytes direkte til decimal. Det jeg kan gjøre er å hente ut de 14 bytene i en Byte array.

 

Men så kommer problemet; hvordan får jeg gjort en 14 bytes array om til en decimal?

 

Pål

Lenke til kommentar
Videoannonse
Annonse

Vel, i .NET er det veldig enkelt, men det er vel VB5/6 det er snakk om.

En metode:

Dim ptr As Long

Dim ptr2 As Long

Dim x As Long

Dim arr() As Byte

Dim target As Decimal

ptr = VarPtr(target)

 

For X = 0 To UBound(arr)

ptr2 = VarPtr(arr(X))

//Kopier 1 byte fra arrayen inn i target decimal pekeren pluss posisjonen til bytet.

Call MemCpy(ptr, arr(x), 1)

ptr = ptr + 1

Next

 

Men siden jeg for tiden sitter på en elendig iMac kan jeg ikke bekrefte om dette fungerer.

MemCpy henter du fra API Viewer

 

Håper dette hjelper.

 

Grunnen til // er at jeg ikke fant appostroff :)

Lenke til kommentar

Hei,

 

Jeg glemte si at det var .Net jeg jobbet med. Hvordan gjør man det der da? Jeg har jobbet rundt det ved å ta ut ett og ett byte og gjøre de om til char som jeg så konkatanerer til en string. Så problemet er for såvidt løst, men dersom du har en bedre løsning så er jeg klar for å høre den!

 

Pål

Lenke til kommentar
  • 4 uker senere...

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...