Uint8Array.prototype.toHex / fromHex în JavaScript

Date binare (ArrayBuffer, typed arrays) ES2026 (Node.js 25+, browserele din 2025)

Transformă octeți în text hexazecimal și înapoi.

Sintaxă
octeti.toHex()
Uint8Array.fromHex(text)
octeti.setFromHex(text)

Ce face Uint8Array.prototype.toHex / fromHex

toHex scrie fiecare octet ca două cifre hexazecimale (litere mici). Uint8Array.fromHex citește un astfel de text și creează un tablou nou, iar setFromHex scrie octeții într-un tablou existent și returnează { read, written }.

Textul trebuie să aibă un număr par de caractere, doar cifre și litere de la a la f (mari sau mici); altfel apare SyntaxError. Este formatul obișnuit pentru hash-uri și chei.

Parametri

Parametru Descriere
text Text hexazecimal, de exemplu "ff00a1".

Ce returnează

toHex: text. fromHex: un Uint8Array nou. setFromHex: { read, written }.

Exemple

Exemplul 1: Octeți și text hexazecimal

const octeti = new Uint8Array([0, 15, 16, 255]);

console.log(octeti.toHex());
console.log(Uint8Array.fromHex("CAFE01"));

const tinta = new Uint8Array(4);
console.log(tinta.setFromHex("0a0b"), tinta);

Rezultat

000f10ff
Uint8Array(3) [ 202, 254, 1 ]
{ read: 4, written: 2 } Uint8Array(4) [ 10, 11, 0, 0 ]

Exemplul 2: Un hash SHA-256 afișat ca text

const date = new TextEncoder().encode("dexblog");
const hash = new Uint8Array(await crypto.subtle.digest("SHA-256", date));

console.log(hash.toHex());

Rezultat

312ec798280e370f7bf8e9d933ad7138a69592a6dbad34a4b51e166b7e644f11

Greșeli frecvente

  • Dai un text cu număr impar de caractere ("abc") și primești SyntaxError. Completează cu un 0 în față.

Comenzi înrudite