Программирование предусматривает обязательную работу с разными типами данных. Неграмотное использование типа данных может стать причиной критической ошибки. Поэтому важно уделить вопросу отдельное внимание.
В данной статье речь зайдет не о самом распространенном, но встречающемся на практике компоненте. А именно – blob. Он особо актуален для базы данных и двоичных записей.
Тип данных – это…
Типом данных принято называть множество значений и операций над ними. Класс информации, который характеризуется членами классами и операциями, которые к ним применяются (или могут быть задействованы).
Типом данных называют категоризацию абстрактного множества возможных параметров, значений и характеристик, а также набор манипуляций для того или иного атрибута. При помощи соответствующего элемента можно определить «итог» и смысл выражения, операции, способы хранения того или иного результата.
Классификация
Перед более детальным рассмотрение blob необходимо хорошо разобраться с «видами» данных в программировании. Существует следующая классификация соответствующих компонентов:
- Логический. Значение – только «истина» или «ложь».
- Целочисленный. Предусматривает хранение чисел (без знаков в том числе).
- С плавающей запятой. Представляют вещественные числа.
- Строковый. Отвечает за хранение всей строчки в переменной как единого целого.
- Указатели. Представлены переменными, диапазоны значений которых включают в себя адреса ячеек памяти или специального значения для обозначения того, что в текущий момент времени в переменной ничего не записано.
- Идентификационный. В коде будет интерпретироваться не как число. Это – уникальный идентификатор.
Также есть абстрактные типы данных, которые будут рассматриваться независимо от контекста и реализации в языке программирования.
Blob – определение
Blob – тип данных, который предназначается специально для хранения большого количества электронных материалов, постоянно подвергающихся корректировкам. Может быть задействован в БД.
При помощи Blob можно хранить данные, которые не могут размещаться в полях иного типа. Сюда относят:
- музыку;
- аудиозаписи;
- картинки;
- анимацию;
- иные компоненты.
Это – большой двоичный object. Он представляет строчку переменной длины, значение которой составляет до 2 147 483 647 символов. С кодовой страницей никак не связан, как и иные строчки соответствующего характера. Символьных данных такие компоненты не содержат.
Синтаксис
Blob – тип данных, который представлен самостоятельным объектом. Его достаточно легко использовать в программном коде. Длина будет указываться в байтах для соответствующих objects, если отсутствует один из суффиксов K, M или G. Они кратны соответственно:
- 1024;
- 1024*1024;
- 1024*1024*1024.
Длина будет указываться в байтах для крупных двоичных объектов. Синтаксическая запись следующая:
{большой двоичный объект} [(длина[{K|M|G}])]
По умолчанию двоичный объект – это 2 Гб. В Java при компиляции используется тип java.sql.Blob (или mysql). Для получения дескриптора большого двоичного объекта для базовых данных в Джаве необходимо использовать метод getBlob.
Чтобы создать поле type Blob в табличке, потребуется использовать запись типа:
Create table testBlob(
myBlobField blob);
В ходе обработки запроса будет создана ячейка для хранения информации большого объема. Поля Blob по реализации внутри БД отличаются. Отличные от них «элементы» располагаются рядом. Blob хранит только идентификатор. Сам объект расположен на отдельной страничке. За счет такого приема обеспечивается хранение данных нефиксированного характера.
API и Blob
Blob – large binary data types. При работе с API выражен объект, подобный документу с неизменяемыми необработанными электронными материалами. Могут считываться как текст или двоичные сведения. Предусматривается преобразование в ReadableStream. Его методы применяются при обработке электронных материалов.
Blob-ы представляют разные сведения. Интерфейс File базируется на рассматриваемом объекте. Он наследует его функциональность, расширяя его со стороны пользователя.
Как использовать
Для создания соответствующих объектов и сведений нужно задействовать конструктор Blob(). Для создания «блоба» из подмножества информации из другого blob’а требуется метод slice(). Получить рассматриваемый компонент для файла на файловой пользовательской системе поможет документация File.
Стоит обратить внимание на то, что:
- Метод slice() обладает изначально задаваемой длинной во втором аргументе. Это необходимо для указания байт в новом Blob’е. При указании соответствующих параметров start + length, превышающий размер изначального «блоба», возвращаемый компонент будет включать в себя информацию от начального индекса до конца исходного object.
- Slice() – метод, имеющий сторонние префиксы в некоторых браузерах.
- Старая версия упомянутого метода без посторонних приставок работает не так, как актуальная.
Этой информации достаточно на начальных порах, чтобы понимать основы работы с рассматриваемым типом данных.
Свойства и методы
Свойства:
- Blob.isClosed – показывает, закрывался ли метод close(). Закрытый объект не читается.
- .size – размер данных в объекте. Указан в байтах.
- .type – строчка с MIME-типом, содержащихся в Blob. Если «вид» неизвестен, строчка окажется пустой.
Методы:
- Blob.close() – закрытие объекта. По возможности система освободит занятые им ресурсы.
- .slice([start[…,end[…, contentType]]]) – осуществляет возврат нового объекта, который содержит информацию в указанном диапазоне байтов исходного «блоба».
- .stream – возвращает ReadableStream. Он может применяться для чтения содержимого соответствующего объекта.
- .text – возвращает promise, исполняемый с USVString. Он содержит все из «блоба», интерпретируемое как текст UTF-8.
Ниже – примеры того, как можно использовать тип данных Blob:
Чтобы лучше разбираться в Blob, можно посмотреть разнообразные туториалы. А специализированные дистанционные курсы помогут быстрее влиться в основы программирования. Меньше чем за год пользователя научат с нуля писать программы на JS и иных языках, работать с БД и многому другому. Полученный спектр знаний подтвердит электронный сертификат.
Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в Otus!