Skip to content

Instantly share code, notes, and snippets.

@technikhil314
Forked from jhurliman/base64.js
Created November 18, 2021 08:39
Show Gist options
  • Save technikhil314/50cd45dbcf516590ac8e4ba1438c362c to your computer and use it in GitHub Desktop.
Save technikhil314/50cd45dbcf516590ac8e4ba1438c362c to your computer and use it in GitHub Desktop.
An extremely simple implementation of base64 encoding / decoding using node.js Buffers (plus url-safe versions)
/*
* base64.js: An extremely simple implementation of base64 encoding / decoding using node.js Buffers
*
* (C) 2010, Nodejitsu Inc.
* (C) 2011, Cull TV, Inc.
*
*/
var base64 = exports;
base64.encode = function(unencoded) {
return new Buffer(unencoded || '').toString('base64');
};
base64.decode = function(encoded) {
return new Buffer(encoded || '', 'base64').toString('utf8');
};
base64.urlEncode = function(unencoded) {
var encoded = base64.encode(unencoded);
return encoded.replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');
};
base64.urlDecode = function(encoded) {
encoded = encoded.replace(/-/g, '+').replace(/_/g, '/');
while (encoded.length % 4)
encoded += '=';
return base64.decode(encoded);
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment