Buffer转 16进制 及 Buffer 转String

转16进制

   let  a = 48 
  a.toString(16)  // 30
   console.log(a)  //48  a本身没有变 还是48  ,a.toString(16) 为30
let bufTo16 = [1,23,56].reduce(function(accumulator, currentValue, currentIndex, array){
        if(currentValue < 16) {
              return accumulator + (0+ currentValue.toString(16))
        }else{
             return accumulator + currentValue.toString(16)
        }
  }, '')
 [1,23,56].reduce((a, b) => a + (b < 16 ? 0 : '') + b.toString(16), '')

buffer转 字符串 方法例子

 let buf = new Uint8Array([65,66,67]);
  arrayBufferToString(buf, 'UTF-8', console.log.bind(console)); //"ABC"

function arrayBufferToString( buffer, encoding, callback ) {
        var blob = new Blob([buffer],{type:'text/plain'});
        var reader = new FileReader();
        reader.onload = function(evt){callback(evt.target.result);};
        reader.readAsText(blob, encoding);
 }


 // function ab2str(buf) {
//        return String.fromCharCode.apply(null, new Uint16Array(buf));
//}

参考文献 https://stackoverflow.com/questions/26754486/how-to-convert-arraybuffer-to-string http://cnodejs.org/topic/56499568d28aa64101600fdc Node.js的Buffer那些你可能不知道的用法 https://www.cnblogs.com/tianma3798/p/5834598.html HTML5 Blob与ArrayBuffer、TypeArray和字符串String之间转换

https://stackoverflow.com/questions/9267899/arraybuffer-to-base64-encoded-string

猜你喜欢

转载自my.oschina.net/u/3734107/blog/1631213