Работа с бинарными файлами — BinaryFiles
Работа с бинарными файлами — 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}