Иллюстрированный самоучитель по Mathematica

Работа с бинарными файлами — BinaryFiles


В подпакете BinaryFiles имеются типовые функции для работы с бинарными файлами:

  • OpenReadBinary [ "filename" ] — открытие файла для считывания бинарных данных;
  • OpenWriteBinary["filename"] — открытие файла для записи бинарных данных;
  • OpenAppendBinary ["filename"] — открытие файла для добавления данных в конец;

  • ReadBinary [stream, type] — считывает бинарные данные из потока;
  • ReadBinary [ stream, expr ] — считывает из потока бинарные данные, типы которых определяются выражением ехрг.

Функции

ReadListBinary[filename,type]

ReadListBinary[stream,type, n]

ReadListBinary[stream,type]

 оперируют с данными в виде списков, а функция WriteBinary [stream, data] записывает данные в поток в бинарной форме. Примеры применения этих функций представлены ниже:

<< Utilities`BinaryFiles`

data = N[Table[10^n, {n, -10, 10}]]

{l.x l10-10, 1.x 10-9, 1.x 10-8, 1.x 10-7, 1.x 10-6, 0.00001, 0.0001, 0.001, 0.01, 0.1, 1., 10., 100.-, 1000., 10000., 100000., 1.x 106, 1.x 107, 1.x 108, 1.x 109, 1.x 1010}

stream = OpenWriteBinary["binarytest"]

OutputStream["binarytest" , 4]

WriteBinary[stream, data]

Close[stream]

binarytest

ReadListBinary["binarytest", Double]

{1.х10-10, 1. xlO-9, 1. x10-8, 1.x 10-7, 1.x 10-6, 0.00001, 0.0001, 0.001, 0.01, 0.1, 1., 10., 100., 1000., 10000., 100000., 1.x 106, 1.x 107, l.xl08, 1.x 109, 1.x 1010}

ReadListBinary["binarytest", Signedlntl6, 5]

{15835, 31967,-9769, -16965, 15889}

Для конвертирования выражений ехрг в байтовый формат служат функции ТоBytes[expr] и ToBytes[expr, type].

Например:

ToBytes[-34.3421435]

{192, 65, 43, 203, 91, 128, 0, 0}

ToBytes[-34.3421435, CString]

{45, 51, 52, 46, 51, 52, 50, 49, 52, 51, 53, 0}



Содержание раздела