/*
* 字节编码转换
* 首先都需要转为二级制数组 (ArrayBuffer)
* 然后才能转换对应的编码字符
* 前端常见编码:
* base64:就是将二进制转为字符串,将每6个字节转为一个特定的字符串(A-Za-z0-9/+=)。
* hex:将二进制每8个字节转为对应的2个十六进制的字符串
* */// utf8 转为 base64/hex
let output = Buffer.from('utf8的字符串', 'utf8')
console.log(output.toString('base64'))
console.log(output.toString('hex'))// base64/hex 转为 utf8
output = Buffer.from('75746638e79a84e5ad97e7aca6e4b8b2', 'hex')
console.log(output.toString('utf8'))
output = Buffer.from('dXRmOOeahOWtl+espuS4sg==', 'base64')
console.log(output.toString('utf8'))// 读取文件传入编码
input = fs.readFileSync('test.txt') // 默认是二进制 Buffer
console.log(input)
let input = fs.readFileSync('test.txt', 'utf8')
console.log(input)
input = fs.readFileSync('test.txt', 'base64')
console.log(input)
input = fs.readFileSync('test.txt', 'hex')
console.log(input)
/*
* 加密需注意
* 加密数据类型:Buffer 或者 字符串(hex/base64/utf8)
* 参数传入参数:vi - 填充
* 参数传入参数:mode - 模式
* 参数传入参数:padding - 填充类型
* 加密输出类型:Buffer 或者 字符串(hex/base64/utf8)
* */