code: function(number, bytes) {
          if (number < 0) {
              throw new Error('"number" must greater than or equal to zero.')
          }
          bytes = bytes || 8
          var bn = new BigNumber(String(number))
          // 转换为16进制字符串
          var hex = bn.toString(16)
  
          // ------- 将hex length补充成bytes x 2，不足则高位补0，超过则去掉高位
          var length = hex.length
          var targetLength = bytes * 2
          if (length < targetLength) {
              var i = targetLength - length
              while (i > 0) {
                  hex = '0' + hex
                  i--
              }
  
          } else if (length > targetLength) {
              hex = hex.substring(length - targetLength)
          }
  
          // ------ 填充到buffer里，高位在前
          var buffer = new Buffer(bytes)
          var offset = 0
          while (offset < bytes) {
              var bn = Number("0x" + hex.substring(offset * 2, (offset * 2) + 2))
              buffer.writeUInt8(bn, offset)
              offset++
          }
  
          return buffer
      }
docs: 将unsigned number转换为Big-Endian buffer
  @param number
  @param bytes buffer的字节数