РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
80 of 723 menu

Тип TypedData

Тип TypedData - общая основа для Int8List, Uint8List, Float64List, ByteData и остальных списков из библиотеки dart:typed_data. Сам тип не хранит элементы определённой ширины. Он сообщает, где данные лежат в памяти: свойство buffer - общий ByteBuffer, offsetInBytes - смещение от начала буфера, lengthInBytes - сколько байт занимает значение, elementSizeInBytes - сколько байт занимает один элемент.

Синтаксис

TypedData data = Uint8List(4); ByteBuffer buffer = data.buffer; int size = data.lengthInBytes;

Пример

Давайте посмотрим на список двухбайтовых чисел как на общие байтовые данные:

import 'dart:typed_data'; void main() { Int16List list = Int16List.fromList([1, 2, 3]); TypedData data = list; print(data.elementSizeInBytes); print(data.lengthInBytes); print(data.offsetInBytes); }

Результат выполнения кода:

2 6 0

Пример

Давайте узнаем размер ByteData в байтах. Один элемент этого типа занимает один байт:

import 'dart:typed_data'; void main() { ByteData raw = ByteData(8); TypedData data = raw; print(data.lengthInBytes); print(data.elementSizeInBytes); }

Результат выполнения кода:

8 1

Пример

Давайте получим буфер из списка байтов через общий тип:

import 'dart:typed_data'; void main() { Uint8List list = Uint8List.fromList([1, 2, 3, 4]); TypedData data = list; print(data.buffer.lengthInBytes); }

Результат выполнения кода:

4

Смотрите также

  • тип ByteBuffer,
    который хранит общий кусок памяти
  • тип ByteData,
    который читает байты как числа разной ширины
  • тип Uint8List,
    который хранит список байтов
  • тип Int16List,
    который хранит знаковые 16 бит
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить