當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。