Spec-Zone.ru › Dart 2

dart:typed_data

Конструктор ByteData.view

ByteData.view(
  1. ByteBuffer buffer,
  2. [int offsetInBytes = 0,
  3. int? length]
)

Создаёт ByteData вид указанного региона в buffer.

Изменения в ByteData будут видны в буфере байтов и наоборот. Если индекс offsetInBytes региона не указан, он по умолчанию равен нулю (первый байт в буфере байтов). Если длина не указана, вид распространяется до конца буфера байтов.

offsetInBytes и length должны быть неотрицательными, а offsetInBytes + length должно быть меньше или равно длине buffer.

Обратите внимание, что при создании вида из списка TypedData или данных байтов, этот список или данные байтов могут сами быть видом на более большой буфер с TypedData.offsetInBytes больше нуля. Просто выполнение ByteData.view(other.buffer, 0, count) может не указывать на те байты, которые вы имели в виду. Вместо этого вам может потребоваться сделать:

ByteData.view(other.buffer, other.offsetInBytes, count)

В качестве альтернативы используйте ByteData.sublistView, который включает в себя это вычисление:

ByteData.sublistView(other, 0, count);

(Третий аргумент — конечный индекс, а не длина, поэтому если вы начинаете с позиции больше нуля, вам не нужно соответственно уменьшать счётчик).

Реализация

factory ByteData.view(ByteBuffer buffer,
    [int offsetInBytes = 0, int? length]) {
  return buffer.asByteData(offsetInBytes, length);
}

© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.18.5/dart-typed_data/ByteData/ByteData.view.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API