node.js如何将base64编码的字符串解码?
 发布于 13 年前  作者 zhoutaobj  58031 次预览  最后一次回复是 8 年前  来自  

得到的字符串经过base64(key1=value1&key2=value2……); 如何将该字符串解码成原始字符串?

8 回复
fengmk2

使用Buffer

> new Buffer('IUAjJA==', 'base64').toString()
'!@#$'
fengmk2

测试代码

> var a = new Buffer('key1=value1&key2=value2').toString('base64');
undefined
> a
'a2V5MT12YWx1ZTEma2V5Mj12YWx1ZTI='
> new Buffer(a, 'base64').toString()
'key1=value1&key2=value2'
zhoutaobj

感谢兄弟的及时回复

meteormatt

这个方法我来试下.

meteormatt

试下来没问题。

shepherdwind

https://github.com/node-browser-compat 用这个吧,浏览器现在都自带base64解码和编码函数了,node应该很快也会有了吧

toby520

各位大神 幫忙看下 我這邊 之前node v0.10.x的時候 正常解碼base64 升級到v5.x之後發現無法解碼啦 eyJ1c2VybmFtZSI6ImR1b2R1b3poaWppYW8iLCJwYXNzd29yZCI6IjEyMzQ1NnRiIn0= 這個是base64之後的數據 但是服務端那邊居然還原回來 少了最後的=字符 導致無法解析 求大神指點 是否5.x的版本有些改動? node部分代碼

      //先将req.body对象进行字符串化,再进行base64解码
        var string = JSON.stringify(req.body);
        console.log("string is"+string);
        var decodedstr = new Buffer(string, 'base64');
        console.log("get the decodestr "+decodedstr);
        // decodedstr = decodedstr.replace('?','');
        var obj = JSON.parse(decodedstr.toString());
        var mdPassword=crypt.md5(obj['password']);
		```
jiazurongyu2015

@toby520 var boby =“name=chenziang&password=a123456”; var str =JSON.stringify(boby);//req.boby console.log(str); var decodedstr =new Buffer(str).toString(‘base64’); console.log("转base64 "+decodedstr); var obj =new Buffer(decodedstr,‘base64’).toString(); console.log(obj);