Uint8Array.fromHex()
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
The Uint8Array.fromHex()
static method creates a new Uint8Array
object from a hexadecimal string.
This method parses the string into a byte array. To convert the string into a single number, use the parseInt()
function with radix
set to 16
instead.
Syntax
Uint8Array.fromHex(string)
Parameters
string
-
A hexadecimal string encoding bytes to convert to a
Uint8Array
. The string must:- Have an even number of characters because two characters encode one byte.
- Only contain characters in the hexadecimal alphabet, which includes 0–9 and A–F (case-insensitive).
- Not contain whitespace (unlike
Uint8Array.prototype.setFromBase64()
).
Return value
A new Uint8Array
object containing the decoded bytes from the hexadecimal string.
Exceptions
SyntaxError
-
Thrown if the input string contains characters outside the hex alphabet, or its length is odd.
TypeError
-
Thrown if the input string is not a string.
Examples
Decoding a hexadecimal string
This example decodes a hexadecimal string into a Uint8Array
.
const hexString = "cafed00d";
const bytes = Uint8Array.fromHex(hexString);
console.log(bytes); // Uint8Array [ 202, 254, 208, 13 ]
Uppercase characters are also supported:
const hexString = "CAFEd00d";
const bytes = Uint8Array.fromHex(hexString);
console.log(bytes); // Uint8Array [ 202, 254, 208, 13 ]
Specifications
Specification |
---|
Uint8Array to/from base64 # sec-uint8array.fromhex |
Browser compatibility
BCD tables only load in the browser