How to convert a hexadecimal string to Uint8Array and back in JavaScript?

后端 未结 3 1060
猫巷女王i
猫巷女王i 2020-12-06 16:18

I want to convert a hexadecimal string like bada55 into a Uint8Array and back again.

3条回答
  •  醉酒成梦
    2020-12-06 16:33

    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);
    

提交回复
热议问题