The Node.js core Buffer
API allows base64 encoding for cases like Basic authentication.
The legacy version with Node.js is by using the buf.atob()
and buf.btoa()
methods, and according to their documentation should not be used in new code.
So here's the recommended way...
Encoding a string to base64
const user = 'colbyhemond'
const password = 'test123!@#'
const stringBuffer = Buffer.from(`${user}:${password}`)
const stringBase64 = stringBuffer.toString('base64')
console.log(stringBase64)
// will output: "Y29sYnloZW1vbmQ6dGVzdDEyMyFAIw=="
Decoding from base64 to a unicode string
const base64String = 'Y29sYnloZW1vbmQ6dGVzdDEyMyFAIw=='
const base64Buffer = Buffer.from(base64String, 'base64')
const string = base64Buffer.toString()
console.log(string)
// will output: "colbyhemond:test123!@#"
To see how you can turn this into your own encoding utility and publish it on NPM, checkout the post on my website.
Top comments (0)