Înregistrări VB3 cu șir de lungime arbitrară?

I have a binary file written from a VB3 program. It writes records which contain arbitrary-length strings.

Încerc acum să citesc și să convertesc aceste fișiere, dar nu știu cum să determin unde se oprește un șir, iar altul începe. Există un delimitator sau este lungimea specificată la început undeva?

3

2 răspunsuri

După ce am încercat cu un editor hex, am descoperit următoarele:

  • Șirurile cu lungime arbitrară încep cu un octet de lungime, urmat de un octet nul, urmat de șir.
  • Arrays de orice tip conțin întreaga lungime a matricei - de ex. o lungime de matrice 6 lungi (4 octeți) este un total de 24 octeți. Corpurile goale sunt 2 octeți (lungimea de 0 și octetul nul) pentru aceasta.
3
adăugat

Ele sunt fie delimitate, fie există un model de lungime fixă. Acum putem spune de aici. Deschideți fișierul cu un editor hex (încărcări despre Google), aruncați o privire.

2
adăugat
Mulțumesc, o să arunc o privire.
adăugat autor sstephens, sursa