I want to convert a hexadecimal string like bada55 into a Uint8Array and back again.
Here's a solution in native JavaScript:
var string = 'bada55';
var bytes = new Uint8Array(Math.ceil(string.length / 2));
for (var i = 0; i < bytes.length; i++) bytes[i] = parseInt(string.substr(i * 2, 2), 16);
console.log(bytes);
var convertedBack = '';
for (var i = 0; i < bytes.length; i++) {
if (bytes[i] < 16) convertedBack += '0';
convertedBack += bytes[i].toString(16);
}
console.log(convertedBack);