Hallo liebe Leute,
Ich habe eine Datei die ich in ein ByteArray einlese.
Die ersten 43 bytes der Datei kann man Klartext auslesen, der Rest sind bytes.
Dier erste Aufgabe: nur die ersen 43 Bytes in einen String umwandeln.
Es funktioniert. Aber ist das richtig so oder gibt es da kürzere (und vor allem schnellere) Varianten?
Die zweite Aufgabe die ich nicht weiß wie ich Sie angehen soll ist das Auslesen einzelner Werte.
Jeweils 4 Bytes ergeben einen integer oder floating Wert. Ich habe unten bereits das Grundgerüst für die Funktion,
aber leider keine Ahnung wie ich z.B. aus den Bytes 44-47 des Bytearrays den Integerwert rausbekomme.
Da gibts auch irgendwas mit Bytes linksbündig oder rechtsbündig (ich weiß den Ausdruck nicht) - hier sollte laut Dateibeschreibung die Standardausrichtung passen.
Könnt Ihr mir bei den beiden Fragen einen Tipp geben oder mit ein paar Codezeilen aushelfen?
Ich habe eine Datei die ich in ein ByteArray einlese.
Die ersten 43 bytes der Datei kann man Klartext auslesen, der Rest sind bytes.
Dier erste Aufgabe: nur die ersen 43 Bytes in einen String umwandeln.
Es funktioniert. Aber ist das richtig so oder gibt es da kürzere (und vor allem schnellere) Varianten?
Die zweite Aufgabe die ich nicht weiß wie ich Sie angehen soll ist das Auslesen einzelner Werte.
Jeweils 4 Bytes ergeben einen integer oder floating Wert. Ich habe unten bereits das Grundgerüst für die Funktion,
aber leider keine Ahnung wie ich z.B. aus den Bytes 44-47 des Bytearrays den Integerwert rausbekomme.
Da gibts auch irgendwas mit Bytes linksbündig oder rechtsbündig (ich weiß den Ausdruck nicht) - hier sollte laut Dateibeschreibung die Standardausrichtung passen.
VB.NET-Quellcode
- 'Der Funktion wird ein bytearray in variabler Länge übergeben
- 'Die ersten 43 bytes enthalten einen String
- 'Dann folgen jeweils 4 Bytes die Integer oder Floating repräsentieren. Beispiel:
- '44-47 = 4 bytes integer
- '48-51 = 4 bytes Integer
- '52-55 = 4 bytes floating point
- '...
- ' Ich möchte nun als Beispiel die 4 bytes aus dem Index 44-47 zu einem Integer oder double wandeln (einfach alles als Double übergeben)
- Dim Wert As Double = GetValueFromByteArray(rmBytes, 44, 4)
- Public Function GetValueFromByteArray(bytearray As Byte(), start As Integer, count As Integer) As Double
- ' Ich habe aber keinen blassen Schimmer wie ich das anstelle.
- 'Es sollte eine schnelle Version sein - da viele Daten zu verarbeiten sind
- Return 0
- End Function
Könnt Ihr mir bei den beiden Fragen einen Tipp geben oder mit ein paar Codezeilen aushelfen?
Liebe Grüße
Roland Berghöfer
Meine aktuellen und kostenlos verwendbaren Tools (mit VB.NET erstellt): freeremarkabletools.com | priconman.com | SimpleCalendar | AudibleTouch | BOComponent.com | bonit.at
Roland Berghöfer
Meine aktuellen und kostenlos verwendbaren Tools (mit VB.NET erstellt): freeremarkabletools.com | priconman.com | SimpleCalendar | AudibleTouch | BOComponent.com | bonit.at
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „dive26“ ()