JS:Uint8Array 数组类型、arraybuffer对象类型与十六进制字符串互转

Uint8Array 数组类型表示一个8位无符号整型数组,创建时内容被初始化为0。创建完后,可以以对象的方式或使用数组下标索引的方式引用数组中的元素。

Uint8Array 数组类型转化为16进制字符串

 function uint8Array(uint8Array) {
      return Array.prototype.map
        .call(uint8Array, (x) => ('00' + x.toString(16)).slice(-2))
        .join('');
    },

ArrayBuffer 对象用来表示通用的、固定长度的原始二进制数据缓冲区。

它是一个字节数组,通常在其他语言中称为“byte array”。

你不能直接操作 ArrayBuffer 的内容,而是要通过类型数组对象或 DataView 对象来操作,它们会将缓冲区中的数据表示为特定的格式,并通过这些格式来读写缓冲区的内容。

arraybuffer类型转16进制字符串

function buf2hex(buffer) {

   return Array.prototype.map.call(new Uint8Array(buffer), x => ('00' + 
         x.toString(16)).slice(-2)).join('');

}

 16进制字符串 转 ArrayBuffer

 var hex = 'AA5504B10000B5'
var typedArray = new Uint8Array(hex.match(/[\da-f]{2}/gi).map(function (h) {
  return parseInt(h, 16)
}))
var buffer = typedArray.buffer

猜你喜欢

转载自blog.csdn.net/sinat_36728518/article/details/117132147