Spec-Zone.ru › JavaScript

Uint8Array

Базовый уровень Широко доступно

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с июля 2015 года.

Типизированный массив Uint8Array представляет собой массив 8-битных целых чисел без знака. Содержимое инициализируется значением 0, если данные для инициализации явно не предоставлены. После создания вы можете обращаться к элементам массива с помощью методов объекта или используя стандартный синтаксис индексации массива (то есть используя скобочную нотацию).

Uint8Array является подклассом скрытого класса TypedArray.

Описание

Uint8Array в настоящее время является единственным подклассом TypedArray, который имеет дополнительные методы по сравнению с другими типизированными массивами. Благодаря своей природе как универсального байтового массива, он наиболее подходит для работы с произвольными двоичными данными. Он поддерживает два набора методов для создания, сериализации и изменения данных Uint8Array в/из шестнадцатеричных строк и строк base64.

  • Uint8Array.fromBase64(), Uint8Array.prototype.toBase64(), и Uint8Array.prototype.setFromBase64() для работы со строками base64, где 3 байта кодируются 4 символами, которые являются либо 0–9, A–Z, a–z, «+», и «/» (или «-» и «_», если используется URL-безопасный base64).
  • Uint8Array.fromHex(), Uint8Array.prototype.toHex(), и Uint8Array.prototype.setFromHex() для работы с шестнадцатеричными строками, где каждый байт кодируется двумя символами, каждый из которых является либо 0–9, либо A–F (без учета регистра).

Конструктор

Uint8Array()
Создает новый объект Uint8Array.

Статические свойства

Также наследует статические свойства от своего родительского TypedArray.

Uint8Array.BYTES_PER_ELEMENT
Возвращает числовое значение размера элемента. 1 в случае Uint8Array.

Статические методы

Наследует статические методы от своего родительского TypedArray.

Uint8Array.fromBase64()
Создает новый объект Uint8Array из строки, закодированной base64.
Uint8Array.fromHex()
Создает новый объект Uint8Array из шестнадцатеричной строки.

Свойства экземпляра

Также наследует свойства экземпляра от своего родительского TypedArray.

Эти свойства определены в Uint8Array.prototype и используются всеми экземплярами Uint8Array.

Uint8Array.prototype.BYTES_PER_ELEMENT
Возвращает числовое значение размера элемента. 1 в случае Uint8Array.
Uint8Array.prototype.constructor
Функция-конструктор, которая создала объект экземпляра. Для экземпляров Uint8Array начальным значением является конструктор Uint8Array.

Методы экземпляра

Наследует методы экземпляра от своего родительского TypedArray.

Uint8Array.prototype.setFromBase64()
Заполняет этот объект Uint8Array байтами из строки, закодированной base64, возвращая объект, указывающий, сколько байтов было прочитано и записано.
Uint8Array.prototype.setFromHex()
Заполняет этот объект Uint8Array байтами из шестнадцатеричной строки, возвращая объект, указывающий, сколько байтов было прочитано и записано.
Uint8Array.prototype.toBase64()
Возвращает строку, закодированную base64, на основе данных в этом объекте Uint8Array.
Uint8Array.prototype.toHex()
Возвращает шестнадцатеричную строку на основе данных в этом объекте Uint8Array.

Примеры

Различные способы создания Uint8Array

// From a length
const uint8 = new Uint8Array(2);
uint8[0] = 42;
console.log(uint8[0]); // 42
console.log(uint8.length); // 2
console.log(uint8.BYTES_PER_ELEMENT); // 1

// From an array
const x = new Uint8Array([21, 31]);
console.log(x[1]); // 31

// From another TypedArray
const y = new Uint8Array(x);
console.log(y[0]); // 21

// From an ArrayBuffer
const buffer = new ArrayBuffer(8);
const z = new Uint8Array(buffer, 1, 4);
console.log(z.byteOffset); // 1

// From an iterable
const iterable = (function* () {
  yield* [1, 2, 3];
})();
const uint8FromIterable = new Uint8Array(iterable);
console.log(uint8FromIterable);
// Uint8Array [1, 2, 3]

Спецификации

Спецификация
Спецификация языка ECMAScript® 2027
# sec-typedarray-objects

Совместимость с браузерами

Настольные Мобильные Серверные
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on iOS Samsung Internet WebView Android WebView on iOS Bun Deno Node.js
Uint8Array
7
12
4
11.6
5.1
18
4
12
4.2
1.0
4
4.2
1.0.0
1.0
0.10.0
Uint8Array
7
12
4
11.6
5.1
18
4
12
4.2
1.0
4
4.2
1.0.0
1.0
0.10.0
fromBase64
140
140
133
124
18.2
140
133
92
18.2
30.0
140
18.2
1.1.22
2.5.0
25.0.0
fromHex
140
140
133
124
18.2
140
133
92
18.2
30.0
140
18.2
1.1.22
2.5.0
25.0.0
setFromBase64
140
140
133
124
18.2
140
133
92
18.2
30.0
140
18.2
1.1.22
2.5.0
25.0.0
setFromHex
140
140
133
124
18.2
140
133
92
18.2
30.0
140
18.2
1.1.22
2.5.0
25.0.0
toBase64
140
140
133
124
18.2
140
133
92
18.2
30.0
140
18.2
1.1.22
2.5.0
25.0.0
toHex
140
140
133
124
18.2
140
133
92
18.2
30.0
140
18.2
1.1.22
2.5.0
25.0.0

См. также

  • Полифил Uint8Array в core-js
  • Руководство по типизированным массивам JavaScript
  • TypedArray
  • ArrayBuffer
  • DataView

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array

Spec-Zone.ru

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