JavaScript DataView.byteOffset — зсув вікна від початку буфера


Властивість byteOffset показує, з якого байта буфера починається вікно.

автор: NagarD

Загальний опис

Зсуви всередині вікна рахуються від нього самого, а не від початку буфера. Тобто view.getUint8(0) для вікна зі зсувом 4 прочитає п'ятий байт буфера.

Це зручно при розборі формату по частинах: відкрив вікно на секцію — і працюєш у її власних координатах, не додаючи зсув до кожного звертання.

автор: NagarD

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
byteOffset 9+ 15+ 5.1+ 12.1+ 12+ 10+
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
byteOffset 4+ yes yes 4.2+

Приклади

+ запропонувати свій приклад у пісочниці

Своє вікно на кожну секцію — свої координати.

const buffer = new ArrayBuffer(32);

const header = new DataView(buffer, 0, 8);
const body = new DataView(buffer, 8);

console.log(body.byteOffset); // 8

// координати ВСЕРЕДИНІ вікна — від нуля
body.setUint8(0, 42); // це 8-й байт буфера

console.log(new Uint8Array(buffer)[8]); // 42
автор: NagarD

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід