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]
Спецификации
Совместимость с браузерами
| Настольные | Мобильные | Серверные | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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
TypedArrayArrayBufferDataView
© 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