2.5. Blobs

BlobToBase64(ABlob: blob): String

Кодирует бинарные данные в Base64

Parameters:ABlob (Variant) -- Бинарные данные
Return type:String

New in version 5.4.0.

Base64ToBlob(ABase64String: String): Variant

Декодирует бинарные данные из Base64

Parameters:ABase64String (String) -- Строка Bаse64 кодировки
Return type:blob

New in version 5.4.0.

BlobToHex(AData: blob)

Кодирует бинарные данные в HEX-строку

Parameters:AData (blob) -- Бинарные данные.
Return type:String

New in version 5.5.0.3950.

HexToBlob(AHex: String)

Декодирует бинарные данные из Hex-строки

Parameters:AHex (String) -- HEX-строка
Return type:blob

New in version 5.5.0.3950.

BlobToString(AData: blob; ACodePage: Integer)

Привести буфер бинарных данных к строке.

Warning

Метод предназначен для приведения буфера заведомо содержащего текстовые данные

Parameters:
  • AData (blob) -- Текстовые данные в бинарном виде.
  • ACodePage (Integer) -- Кодировка текстовых данных.
Return type:

String

New in version 5.5.0.3950.

StringToBlob(AText: String; ACodePage: Integer)

Привести строку к бинарному представлению.

Attention

Возвращаемый результат не содержит информацию о кодировке строки

Warning

При передаче строковых значений между разными переменными в Pascal-скрипте не гарантируется сохранность кодировки. Это следует учитывать при работе со StringToBlob и вызывать его сразу после получения значения в нужной кодировке, либо указывать требуемую кодировку явно. Наиболее частый, но не единственный, способ потери кодировки - использование массивов. Строковые значения элементов массивов могут быть представлены только юникодом. Из-за этого при присвоении элементам не юникодных строк они перекодируются в UTF16. Эту особенность нельзя обойти и её следует просто учитывать.

Parameters:
  • AText (String) -- Текст
  • ACodePage (Integer) --

    Кодировка которой должен соответствовать возвращаемый результат. Может отличаться от кодировки строки переданной в параметре AString. Если параметр не указан будет использована кодировка в которой передана строка.

    New in version 5.8.12.5404.

Return type:

blob

New in version 5.5.0.3950.

BlobIntToStr(AVeryBigInteger: blob)

Привести сколь угодно большое целое беззнаковое число к строке, в десятиричном представлении.

Parameters:AVeryBigInteger (blob) -- Бинарное представление числа (BigEndian).
Returns:Десятиричная запись числа.
Return type:String

New in version 5.5.0.3950.

BlobRevers(AData: blob)

"Перевернуть" блоб. Возвращает блоб тех же данных, но с обратным порядком индексации: [AData[N], AData[N-1], ..., AData[0]].

Может быть полезно когда необходимо изменить порядковую нотацию BigEndian <-> LittleEndian.

Parameters:AData (blob) -- Бинарные данные.
Return type:blob

New in version 5.5.0.3950.

BlobCopy(ABlob: blob; AStartByte, ACount: Integer): blob

Копировать часть блоба

Parameters:
  • ABlob (blob) -- Блоб-источник
  • AStartByte (Integer) -- Порядковый номер байта в источнике, с которого начнётся копирование
  • ACount (Integer) --

    Количество байт которое будет скопированио

    Примечание: если указано количество болшее доступно - будет скопировано всё что доступно (до конца блоба-источника)

New in version 5.5.8.4460.

BlobConcat(ABlob1, ABlob2[,... ABlobN]): blob

Объеденить блобы в один общий

Перечисленные в параметрах блобы будут скопированы в итоговый в порядке как они перечислены в параметрах. Всего можно перечислить до 255 блобов.

New in version 5.5.8.4460.