Blob

一个 Blob 对象表示一个二进制数据块。VBScriptJScript 等脚本语言没有对二进制数据的内置支持 - 可以使用该对象分配一块内存,并以类似于 C 等低级语言的方式操作该对象。可以将 Blob 对象与 File 对象结合使用,以读取或写入磁盘文件中的二进制数据。

Blob 对象可转换为 ActiveX 数组的两种类型,即 SAFEARRAY,类型为 VT_UI1(称为 array)和 SAFEARRAY,类型为 VT_VARIANT,其中每个变量都持有 VT_UI1(称为 VB array)。可以使用这两种类型中的任何一种数组初始化一个 Blob(在通过 DOpusFactory.Blob 方法或 Blob.CopyFrom 方法创建它时,以及在使用 ToArrayToVBArray 方法将 Blob 转换回数组时)。这些数组类型的支持取决于脚本语言。

可以通过从 0 开始对字节偏移量进行索引来读写 Blob 中的各个字节。例如,my_blob(5) = 128 会将中该 blob 中的第六个字节的值设置为 128。

属性名称返回类型描述

size

object:FileSize

返回一个 FileSize 对象,表示此 Blob 的大小(以字节为单位)。

方法名称

参数

返回类型

描述

Compare

<Blob:source> <int:to> <int:from> <int:size>

int

将此 Blob 的内容与另一个 Blob(或数组)进行比较。默认情况下,比较这两个 blob 的整个内容。可以让你配置操作的可选参数是:

to - 指定要与之进行比较的此 Blob 中的字节偏移量。默认为 0。 from - 指定要在其中进行比较的源 Blob 中的字节偏移量。默认为 0。 size - 指定要比较的字节数。默认为源 Blob 的大小。

如果这两个 blob 相同,则返回值为 0-1 的值表示此 blob 小于其它 blob,1 表示此 blob 大于其它 blob。

CopyFrom

<Blob:source> <int:to> <int:from> <int:size>

<string> <type>

none

将数据从源 Blob(或数组)复制到此 Blob 中。默认情况下,源 Blob 的整个内容将被完全复制到此 Blob 的内容。可以让你配置操作的可选参数是:

to - 指定要复制到的此 Blob 中的字节偏移量。默认为 0。 from - 指定要从中复制的源 Blob 中的字节偏移量。默认为 0。 size - 指定要复制的字节数。默认为源 Blob 的大小。

除了从另一个 Blob 复制外,还可以使用此方法从字符串初始化一个 Blob。默认情况下,Blob 将设置为字符串的 Unicode 形式;如果将 "utf8" 传递为第二个参数,它将使用字符串的 UTF8 编码形式初始化 Blob

如果此 Blob 当前不够大,无法容纳所复制的数据,则它将自动调整大小。

Find

<Blob:search> <int:from> <int:size>

object:FileSize

在该 Blob 的内容中搜索另一个 Blob(或数组)中包含的数据。默认情况下,搜索该 Blob 的整个内容。可选的 from 参数允许你指定搜索的起始位置,而可选的 size 参数允许你指定在该 Blob 中搜索的数据长度。 如果未找到搜索数据,则返回值为 -1,否则,返回从 Blob 数据开始的偏移量。

Free

none

none

释放与此 Blob 关联的内存,并将大小重置为 0。相当于 Set(0)

Init

none

none

初始化 Blob 的内容(blob 中的每个字节都将设置为 0)。相当于 Set(0)

Resize

<int:size>

none

将该 Blob 大小调整为指定字节数。

Reverse

none

none

反转 Blob 的内容。

Set

<byte:value> <int:to> <int:size>

none

Blob 的内容设置为指定的字节值(blob 中的每个字节都将设置为该值)。默认情况下,整个 Blob 将受到影响。选项 to 参数允许你指定一个字节偏移量以作为起点,而可选 size 参数允许你控制受影响的字节数。

ToArray

<int:from> <int:size>

VT_UI1 类型 SAFEARRAY

将此 Blob 的内容转换为类型为 VT_UI1SAFEARRAY。默认情况下,Blob 的整个内容将被复制到该数组。可以让你配置操作的可选参数是: from - 指定要从中复制的源 Blob 中的字节偏移量。默认为 0。 size - 指定要复制的字节数。默认为源 Blob 的大小。

ToVBArray

<int:from> <int:size>

VT_VARIANT 类型 SAFEARRAY

将此 Blob 的内容转换为类型为 VT_VARIANTSAFEARRAY。数组中的每个变量都包含一个 VT_UI1。默认情况下,Blob 的整个内容将被复制到该数组。可以让你配置操作的可选参数是:

from - 指定要从中复制的源 Blob 中的字节偏移量。默认为 0。 size - 指定要复制的字节数。默认为源 Blob 的大小。

最后更新于