当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Dart ByteData用法及代码示例


dart:typed_data 库中ByteData 类的用法介绍如下。

一个固定长度、随机访问的字节序列,它还提供对这些字节表示的固定宽度整数和浮点数的随机和非对齐访问。

ByteData 可用于对来自外部源(例如网络或文件系统)的数据进行打包和解包,并比普通的 List 实现更有效地处理大量数值数据。 ByteData 可以通过消除对对象标头的需要来节省空间,并通过消除对数据副本的需要来节省时间。

如果数据以字节形式出现,则可以通过共享同一个缓冲区将它们转换为ByteData

Uint8List bytes = ...;
var blob = ByteData.sublistView(bytes);
if (blob.getUint32(0, Endian.little) == 0x04034b50) { // Zip file marker
  ...
}

最后,ByteData 可用于有意将表示一种算术类型的字节重新解释为另一种算术类型。例如,此代码片段确定由 32 位浮点数的字节表示的 32 位有符号整数(均存储为大端序):

var bdata = ByteData(8);
bdata.setFloat32(0, 3.04);
int huh = bdata.getInt32(0); // 0x40428f5c
实现的类型

TypedData


实施者

UnmodifiableByteDataView

相关用法


注:本文由纯净天空筛选整理自dart.dev大神的英文原创作品 ByteData class。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。