00051. Работа с HEX. HEX-буфер

Работа с HEX. HEX-буфер|В этом уроке мы познакомимся с одной возможностью блока HEX-END - буффером данных.|wmysterio|||||Здравствуйте, друзья! Очень давно я планировал сделать урок по HEX, но никак руки не доходили. Я не знаю всех возможможностей этого блока, но использовать его как буфер я умею.

Давайте определим понятие "Буфер", так как не все понимают что это такое. Я находил в интернете значение слова "Buffer", но все они такто туманно описывают это слово. Что же оно значит с точки зрения программирования ( скриптинга ) ? Если говорить простым языком, буфер - это произвольный набор данных, который имеет свою структуру.

Сами структуры Вы могли наблюдать в уроках о выделении памяти и форматированном считывании с файла. В первом случае у нас была простая структура - набор актёров. Во втором ( последний пример ) : цепочка данных с целых и дробных чисел.

Как видим, структуру определяет разработчик, в зависимости от потребности. Но если в ситуации с файлами мы могли наблюдать данные в явном виде, то с выделением памяти всё выглядело более абстрактно. HEX-буфер в этой ситуации является гибридом - данные "вшиваются" в скрипт в явном виде, но дальнейшая работа переходит в абстрактную, так как мы не будем знать какие там данные будут находится в процессе записи.

Для того, чтобы работать с буфером, нужно научится его создавать. Для этого нужно точно знать какие данные он будет хранить. Пусть это будут актёры, как в ситуации с выделением памяти. Узнаём размер ( в байтах ) одной ячейки этой структуры, после чего узнаём максимальное количество элементов такой структуры. Табличка с размерами приведена ниже:

Тип данныхРазмеры ( байт )

float

4

int

1, 2, 3 или 4

sString

8

vString

16

Actor, Car, Objet и т.п.

4

Last updated