Записи VB3 со строками произвольной длины?

#file #file-io

#файл #файл-ввод-вывод

Вопрос:

У меня есть двоичный файл, записанный из программы VB3. Он записывает записи, которые содержат строки произвольной длины.

Сейчас я пытаюсь прочитать и преобразовать эти файлы, но я не знаю, как определить, где заканчивается одна строка и начинается другая. Есть ли разделитель, или длина указана где-то в начале?

Ответ №1:

Покопавшись в шестнадцатеричном редакторе, я обнаружил следующее:

  • Строки произвольной длины начинаются с байта длины, за которым следует нулевой байт, за которым следует строка.
  • Массивы любого типа содержат полную длину массива — например, длина массива 6 длин (4 байта) составляет в общей сложности 24 байта. Для этого пустые строки составляют 2 байта (длина 0 и нулевой байт).

Ответ №2:

Они либо разделены, либо существует некоторый шаблон фиксированной длины. Теперь, как мы можем определить отсюда. Откройте файл с помощью шестнадцатеричного редактора (загружается примерно в Google), взгляните.