Data 类用于表示二进制数据,提供多种方法用于数据的创建、转换、压缩、解压、拼接、读取等操作。可用于处理图像、文件、音频、编码数据等各种原始字节数据。
该枚举用于指定 Data 的压缩或解压算法:
| 枚举值 | 描述 |
|---|---|
lzfse |
LZFSE 压缩算法,快速且高效。 |
lz4 |
LZ4 压缩算法,压缩和解压速度极快。 |
lzma |
LZMA 算法,压缩率高,压缩速度较慢。 |
zlib |
Zlib 算法,通用且广泛支持的压缩格式。 |
size: number当前数据的字节长度(只读属性)。
resetBytes(startIndex: number, endIndex: number): void将数据中指定范围内的字节清零。
startIndex:起始索引(包含)endIndex:结束索引(不包含)若索引超出范围将抛出异常。
advanced(amount: number): Data返回一个新的 Data 实例,去除前 amount 个字节。
replaceSubrange(startIndex, endIndex, data): void将当前数据中指定范围的字节替换为另一个 Data 实例的数据。
compressed(algorithm: CompressionAlgorithm): Data使用指定的压缩算法压缩当前数据,返回压缩后的新 Data 实例。
如果数据为空或无法压缩将抛出异常。
decompressed(algorithm: CompressionAlgorithm): Data使用指定的算法对当前数据进行解压,返回解压后的 Data 实例。
压缩与解压时使用的算法必须一致。
slice(start?: number, end?: number): Data返回数据的子集片段,形成新的 Data 实例。
start:起始索引(默认 0)end:结束索引(默认到末尾)append(other: Data): void将另一个 Data 实例的数据追加到当前数据末尾。
getBytes(): Uint8Array | null(已废弃)请改用 toUint8Array()。
toUint8Array(): Uint8Array | null将数据转换为 Uint8Array。
toArrayBuffer(): ArrayBuffer将数据转换为 ArrayBuffer。
toBase64String(): string将数据编码为 Base64 字符串。
toHexString(): string将数据编码为十六进制字符串。
toRawString(encoding?: string): string | null将数据转换为字符串,支持指定编码(默认 "utf-8")。
toIntArray(): number[]将数据转换为由整数表示的字节数组。
Data.fromIntArray(array: number[]): Data从整数数组创建 Data 实例。
Data.fromString(str: string, encoding?: string): Data | null(已废弃)请使用 Data.fromRawString() 代替。
Data.fromRawString(str: string, encoding?: string): Data | null从字符串创建 Data 实例,支持指定编码(默认 "utf-8")。
Data.fromFile(filePath: string): Data | null从本地文件路径读取数据,返回 Data 实例。
Data.fromArrayBuffer(buffer: ArrayBuffer): Data | null从 ArrayBuffer 创建 Data 实例。
Data.fromUint8Array(bytes: Uint8Array): Data | null从 Uint8Array 创建 Data 实例。
Data.fromBase64String(base64: string): Data | null从 Base64 编码字符串创建 Data 实例。
Data.fromHexString(hex: string): Data | null从十六进制字符串创建 Data 实例。
Data.fromJPEG(image: UIImage, compressionQuality?: number): Data | null将图像转为 JPEG 格式的 Data 实例。
compressionQuality:JPEG 压缩质量,范围 0.0 ~ 1.0,默认值为 1.0(最高质量)Data.fromPNG(image: UIImage): Data | null将图像转为 PNG 格式的 Data 实例。
Data.combine(dataList: Data[]): Data将多个 Data 实例合并为一个新实例。
如果列表为空或所有数据为空,则返回空数据。