Что такое большой двоичный объект?

#c #terminology

#c #терминология

Вопрос:

Я наткнулся на несколько статей, относящихся к большому двоичному объекту C . Что это такое?

Я видел некоторый код, который использует его следующим образом:

 char blob[100];

element = lst->putBlob(blob, strlen(blob));
  

Код здесь не очень важен, я просто хочу знать, что такое «большой двоичный объект».

Комментарии:

1. Что lst в этом фрагменте?

2. Похоже, это массив символов.

3. @Griwes Мой комментарий был к LunixFrog, а не к твоему вопросу, лол. Мы сделали наши комментарии одновременно. 😉

4. Вы могли бы ссылаться на статьи, чтобы предоставить контекст.

Ответ №1:

«Большой двоичный объект» означает двоичный большой объект.

Комментарии:

1. … что подразумевает, что в данном конкретном контексте название ‘blob’ было выбрано неправильно, поскольку, по-видимому, оно подчиняется строковой семантике.

2. Круто, не знал, что это слово означает что-то большее, чем … blob.

Ответ №2:

«Большой двоичный объект» — это распространенное сокращение от «Binary Large Object», что означает, что это объект, содержащий большой объем двоичных данных. В некоторых языках есть собственные типы больших двоичных объектов, но в C их нет. Тем не менее, создать большой двоичный объект достаточно просто — вы просто создаете массив байтов. В вашем примере это делается путем создания массива char s. Однако это может сбить с толку, поскольку массив символов имеет особое значение в C — это также строка. Тем не менее, при использовании в качестве большого двоичного объекта он может содержать любые данные (в этом случае strlen не будет работать).

Комментарии:

1. Да, это очень необычно видеть strlen примененным к большому двоичному объекту. Как правило, есть способ определить, насколько он велик, в зависимости от источника данных и того, читаете вы или пишете.