node工具及弹药库集锦

273 阅读1分钟

工具

数据库

  • lowdb 是一个小型的本地JSON数据库,由Lodash驱动(支持Node, Electron以及浏览器)。
  • json-server 无需编码,30秒即可获得一套完整的REST API(认真的表情)

弹药库

base64编解码

字符串编解码:

var b = Buffer.from('JavaScript');
var s = b.toString('base64');
// SmF2YVNjcmlwdA==

var b = Buffer.from('SmF2YVNjcmlwdA==', 'base64')
var s = b.toString();
// JavaScript

编解码并转成hex

var b = Buffer.from('SmF2YVNjcmlwdA==', 'base64')
var s = b.toString('hex');
// 4a617661536372697074

var b = Buffer.from('4a617661536372697074', 'hex')
var s = b.toString('utf8');
// JavaScript

编解码图片

var fs = require('fs');

// function to encode file data to base64 encoded string
function base64_encode(file) {
    // read binary data
    var bitmap = fs.readFileSync(file);
    // convert binary data to base64 encoded string
    return Buffer.from(bitmap).toString('base64');
}

// function to create file from base64 encoded string
function base64_decode(base64str, file) {
    // create buffer object from base64 encoded string, it is important to tell the constructor that the string is base64 encoded
    var bitmap = Buffer.from(base64str, 'base64');
    // write buffer to file
    fs.writeFileSync(file, bitmap);
    console.log('******** File created from base64 encoded string ********');
}

// convert image to base64 encoded string
var base64str = base64_encode('kitten.jpg');
console.log(base64str);
// convert base64 string back to image 
base64_decode(base64str, 'copy.jpg');