2進制、16進制、字符串互轉

單片機APP的項目目前完成的差不多了,主要是藍牙軟件與硬件對接比較費時費力

也總結出來了不少經驗,補齊了很多不足的知識點,也瞭解了很多方法,簡單做個總結出來

 

二進制arrayBuffer轉爲16進制,並且以字符串形式展現

    // ArrayBuffer轉16進制的字符串示例
    ab2hex(buffer) {
      let hexArr = Array.prototype.map.call(
        new Uint8Array(buffer),
        function (bit) {
          return ("00" + bit.toString(16)).slice(-2);
        }
      );
      return hexArr.join("");
    },

字符串轉爲二進制arraybuffer格式

    // 字符串轉arrayBuffer
    string2buffer(hex_str) {
      let that = this;
      console.log("hex_str", hex_str);
      let typedArray = new Uint8Array(
        hex_str.match(/[\da-f]{2}/gi).map(function (h) {
          return parseInt(h, 16);
        })
      );
      return typedArray.buffer;
    },

16進制轉字符串格式

    // 16進制轉爲字符串
    hextoString(hex) {
      var arr = hex.split("");
      var out = "";
      for (var i = 0; i < arr.length / 2; i++) {
        var tmp = "0x" + arr[i * 2] + arr[i * 2 + 1];
        var charValue = String.fromCharCode(tmp);
        out += charValue;
      }
      return out;
    },

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章