nodejs之base64編碼解碼問(wèn)題
nodejs base64 編碼解碼
普通字符串
編碼
var b = new Buffer('JavaScript'); var s = b.toString('base64'); // SmF2YVNjcmlwdA==
解碼:
var b = new Buffer('SmF2YVNjcmlwdA==', 'base64') var s = b.toString(); // JavaScript
編碼解碼并轉(zhuǎn)成hex
var b = new Buffer('SmF2YVNjcmlwdA==', 'base64') var s = b.toString('hex'); // 4a617661536372697074 var b = new Buffer('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 new Buffer(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 = new Buffer(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');
nodejs 操作base64
node 對(duì)字符串 圖片 base64 編碼解碼。
/* 對(duì)普通的字符串 進(jìn)行base64 */ var b = new Buffer('abceAdf123'); var s = b.toString('base64'); console.log(s); // YWJjZUFkZjEyMw== let str = "7b3a51166a197c983519096085cebc70d2710146a67691937b2bd3efea91c6f6"; let s1 = new Buffer(str).toString('base64'); // N2IzYTUxMTY2YTE5N2M5ODM1MTkwOTYwODVjZWJjNzBkMjcxMDE0NmE2NzY5MTkzN2IyYmQzZWZlYTkxYzZmNg== console.log(s1); /* 解碼base64 */ var b = new Buffer('YWJjZUFkZjEyMw==', 'base64') var s2 = b.toString('utf8'); // hex => 轉(zhuǎn)成十六進(jìn)制 console.log(s2); // abceAdf123 // utf-8 var b = new Buffer('N2IzYTUxMTY2YTE5N2M5ODM1MTkwOTYwODVjZWJjNzBkMjcxMDE0NmE2NzY5MTkzN2IyYmQzZWZlYTkxYzZmNg==', 'base64') var s3 = b.toString('utf8'); console.log(s3); /*對(duì)圖片的base64*/ var fs = require('fs'); function base64_encode(file) { var bitmap = fs.readFileSync(file); return new Buffer(bitmap).toString('base64'); } function base64_decode(base64str, file) { var bitmap = new Buffer(base64str, 'base64'); fs.writeFileSync(file, bitmap); } var base64str = base64_encode('a.png'); console.log(base64str); base64_decode(base64str, 'a.copy.png');
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Nodejs使用exceljs實(shí)現(xiàn)excel導(dǎo)入導(dǎo)出
在日常開(kāi)發(fā)中,我們常需在后臺(tái)管理系統(tǒng)中實(shí)現(xiàn)數(shù)據(jù)的導(dǎo)入與導(dǎo)出功能,以便與?Excel?文件進(jìn)行交互,本文將使用使用exceljs實(shí)現(xiàn)excel導(dǎo)入導(dǎo)出功能,需要的可以參考下2024-03-03使用Node.js實(shí)現(xiàn)ORM的一種思路詳解(圖文)
這篇文章主要介紹了用Node.js實(shí)現(xiàn)ORM的一種思路詳解(圖文),需要的朋友可以參考下2017-10-10Node.js從字符串生成文件流的實(shí)現(xiàn)方法
這篇文章主要介紹了Node.js從字符串生成文件流的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08Node.js中的package.json與cnpm命令行工具介紹
這篇文章介紹了Node.js中的package.json與cnpm命令行工具,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06NodeJS實(shí)現(xiàn)不可逆加密與密碼密文保存的方法
這篇文章主要介紹了NodeJS實(shí)現(xiàn)不可逆加密與密碼密文保存的方法,簡(jiǎn)單講述了不可逆加密與密碼密文保存的原理并結(jié)合實(shí)例形式分析了nodejs相關(guān)加密操作實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-03-03node.js中process進(jìn)程的概念和child_process子進(jìn)程模塊的使用方法示例
這篇文章主要介紹了node.js中process進(jìn)程的概念和child_process子進(jìn)程模塊的使用方法,結(jié)合實(shí)例形式分析了node.js中process進(jìn)程和child_process子進(jìn)程模塊相關(guān)概念、原理、使用方法及操作注意事項(xiàng),需要的朋友可以參考下2020-02-02Nodejs監(jiān)控事件循環(huán)異常示例詳解
這篇文章主要給大家介紹了關(guān)于Nodejs監(jiān)控事件循環(huán)異常的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Nodejs具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09