/** * @module arraybuffer-to-string/browser */ 'use strict' module.exports = function ArrayBufferToString (buffer, encoding) { if (encoding == null) encoding = 'utf8' var uint8 = new Uint8Array(buffer) if (encoding === 'hex') { var out = '' for (var i = 0, l = uint8.byteLength; i < l; ++i) { out += toHex(uint8[i]) } return out } if (encoding === 'base64') { str = String.fromCharCode.apply(null, uint8) return btoa(str) } if (encoding === 'binary' || encoding === 'latin1' || !global.TextDecoder) { str = String.fromCharCode.apply(null, uint8) return str } //TextDecoder way if (encoding === 'utf16le') encoding = 'utf-16le' var decoder = new TextDecoder(encoding) var str = decoder.decode(uint8) return str } function toHex (n) { if (n < 16) return '0' + n.toString(16) return n.toString(16) }