Search code examples
javascripthexarraybuffer

How to convert a hexadecimal string of data to an ArrayBuffer in JavaScript


How do I convert the string 'AA5504B10000B5' to an ArrayBuffer?


Solution

  • You could use regular expressions together with Array#map and parseInt(string, radix):

    var hex = 'AA5504B10000B5'
    
    var typedArray = new Uint8Array(hex.match(/[\da-f]{2}/gi).map(function (h) {
      return parseInt(h, 16)
    }))
    
    console.log(typedArray)
    console.log([0xAA, 0x55, 0x04, 0xB1, 0x00, 0x00, 0xB5])
    
    var buffer = typedArray.buffer