/* * 字節編碼轉換 * 首先都需要轉為二級制數組 (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) * */