БуферДвоичныхДанных / BinaryDataBuffer

Коллекция байтов фиксированного размера с возможностью произвольного доступа и изменения по месту. Размер буфера формально не ограничен, но поскольку все данные буфера полностью находятся в оперативной памяти, при попытке создать буфер слишком большого размера доступной памяти может оказаться недостаточно, в результате чего будет вызвано исключение. Поэтому при работе с буферами двоичных данных необходимо соотносить их размер с доступным объемом оперативной памяти. При создании буфера можно указать порядок байтов, который будет использован для операций с целыми числами. При этом если буфер не создан явно, а получен с помощью вызова метода другого объекта, то порядок байтов в полученном буфере будет унаследован от порядка байтов, заданного для того объекта, метод которого вызывается. Например, если буфер получен с помощью вызова метода ПрочитатьВБуферДвоичныхДанных, то порядок байтов в полученном буфере будет равен значению свойства ПорядокБайтов. Возможен также более сложный случай наследования порядка байтов. Если буфер получен с помощью вызова метода ПолучитьБуферДвоичныхДанных, то порядок байтов у полученного буфера будет выбираться из объекта ЧтениеДанных, из которого был получен объект РезультатЧтенияДанных. Порядок байтов, заданный для объекта ЧтениеДанных, будет использован во всех объектах, полученных на его основании.

Свойства

ПорядокБайтов / ByteOrder

Доступ: Чтение/Запись

Тип значения: ПорядокБайтов (ByteOrder)

Текущий порядок байтов. Влияет на операции чтения и записи целых чисел в буфер.

Размер / Size

Доступ: Чтение

Тип значения: Число (Number)

Размер буфера в байтах.

ТолькоЧтение / ReadOnly

Доступ: Чтение

Тип значения: Булево (Boolean)

Значение Истина указывает, что данный буфер предназначен только для чтения.

Методы

Записать / Write()

Заменить значения, начиная с заданной позиции, значениями из заданного буфера.

Параметры

ЗаписатьЦелое16 / WriteInt16()

Записать целое 16-битное положительное число в заданную позицию.

Параметры

ЗаписатьЦелое32 / WriteInt32()

Записать целое 32-битное положительное число в заданную позицию.

Параметры

ЗаписатьЦелое64 / WriteInt64()

Записать целое 64-битное положительное число в заданную позицию.

Параметры

ЗаписатьПобитовоеИ / WriteBitwiseAnd()

Объединить заданное количество байтов, начиная с указанной позиции с байтами из заданного буфера с использованием побитового И. Если количество байтов не указано, то объединяются все байты до конца буфера.

Параметры

ЗаписатьПобитовоеИНе / WriteBitwiseAndNot()

Объединить заданное количество байтов, начиная с указанной позиции с байтами из заданного буфера с использованием побитового И НЕ. Если количество байтов не указано, то объединяются все байты до конца буфера.

Параметры

ЗаписатьПобитовоеИли / WriteBitwiseOr()

Объединить заданное количество байтов, начиная с указанной позиции с байтами из заданного буфера с использованием побитового ИЛИ. Если количество байтов не указано, то объединяются все байты до конца буфера.

Параметры

ЗаписатьПобитовоеИсключительноеИли / WriteBitwiseXor()

Объединить заданное количество байтов, начиная с указанной позиции с байтами из заданного буфера с использованием побитового ИСКЛЮЧИТЕЛЬНОГО ИЛИ (XOR). Если количество байтов не указано, то объединяются все байты до конца буфера.

Параметры

Перевернуть / Reverse()

Создает новый буфер, содержащий элементы текущего буфера в противоположном порядке.

Возвращаемое значение

Получить / Get()

Получает значение элемента на указанной позиции.

Параметры

Возвращаемое значение

Числовым типом может быть представлено любое десятичное число. Над данными числового типа определены основные арифметические операции: сложение, вычитание, умножение и деление. Максимально допустимая разрядность числа 38 знаков.

ПолучитьСрез / GetSlice()

Создает новый буфер, использующий заданное количество байтов из исходного буфера, начиная с заданной позиции (нумерация с 0). Если количество не задано, то новый буфер является представлением элементов текущего буфера, начиная с заданного индекса и до конца.

НЕ РЕАЛИЗОВАН

Параметры

Возвращаемое значение

Прочитать / Read()

Выполняет чтение байтов из буфера и помещает их в новый буфер.

Параметры

Возвращаемое значение

ПрочитатьЦелое16 / ReadInt16()

Выполняет чтение целого 16-битного положительного числа на заданной позиции.

Параметры

Возвращаемое значение

ПрочитатьЦелое32 / ReadInt32()

Прочитать целое 32-битное положительное число на заданной позиции.

Параметры

Возвращаемое значение

Числовым типом может быть представлено любое десятичное число. Над данными числового типа определены основные арифметические операции: сложение, вычитание, умножение и деление. Максимально допустимая разрядность числа 38 знаков.

ПрочитатьЦелое64 / ReadInt64()

Выполняет чтение целого 64-битного положительного числа на заданной позиции.

Параметры

Возвращаемое значение

Числовым типом может быть представлено любое десятичное число. Над данными числового типа определены основные арифметические операции: сложение, вычитание, умножение и деление. Максимально допустимая разрядность числа 38 знаков.

Разделить / Split()

Разделить буфер на части по заданному разделителю или массиву разделителей.

Параметры

Возвращаемое значение

Массив из буферов двоичных данных

Скопировать / Copy()

Создает копию массива.

Возвращаемое значение

Соединить / Concat()

Создает новый буфер, содержащий элементы текущего буфера и, за ними, элементы заданного буфера.

Параметры

Возвращаемое значение

Установить / Set()

Устанавливает значение элемента на заданной позиции (нумерация начинается с 0).

Параметры

УстановитьТолькоЧтение / SetReadOnly()

Переводит текущий буфер в режим "только для чтения". Попытка изменить состояние буфера приведет к вызову исключения.

Конструкторы

По умолчанию

Параметры