27

I've seen several tutorial explaining how to convert binary image into encode64 representations:

var image = new Buffer(bl.toString(), 'binary').toString('base64');

My question is, how to return this string representation, back to it's buffer's binary data.

ariefbayu
  • 21,849
  • 12
  • 71
  • 92

2 Answers2

62

This question has some helpful info: How to do Base64 encoding in node.js?

The Buffer class itself does the conversion:

var base64data = Buffer.from('some binary data', 'binary').toString('base64');

console.log(base64data);
// ->  'c29tZSBiaW5hcnkgZGF0YQ=='

var originaldata = Buffer.from(base64data, 'base64');

console.log(originaldata);
// ->  <Buffer 73 6f 6d 65 20 62 69 6e 61 72 79 20 64 61 74 61>

console.log(originaldata.toString());
// ->  some binary data
Benjamin Gruenbaum
  • 270,886
  • 87
  • 504
  • 504
tillberg
  • 756
  • 6
  • 6
  • I have a related question that I think you'll know the answer to. I appreciate your help! https://stackoverflow.com/q/75416587/470749 – Ryan Feb 10 '23 at 22:10
6

new Buffer is deprecated

From Binary to base64:

const base64data = Buffer.from('some binary data', 'binary').toString('base64');
console.log(base64data);
// ->  'c29tZSBiaW5hcnkgZGF0YQ=='

From base64 to binary:

 const origionalData = Buffer.from('some base64 data', 'base64') 

console.log(origionalData) 

// ->  'c29tZSBiaW5hcnkgZGF0YQ=='
Tony Mack
  • 63
  • 1
  • 6