1. libbase64
Encode and decode base64 encoded strings
libbase64
Package: libbase64
Created by: nodemailer
Last modified: Fri, 23 Feb 2024 11:18:23 GMT
Version: 1.3.0
License: MIT
Downloads: 4,658,137
Repository: https://github.com/nodemailer/libbase64

Install

npm install libbase64
yarn add libbase64

libbase64

Encode and decode base64 strings.

Usage

Install with npm

npm install libbase64

Require in your script

 const libbase64 = require('libbase64');

Encode values

Encode Buffer objects or unicode strings with

libbase64.encode(val) → String

Where

  • val is a Buffer or an unicode string

Example

 libbase64.encode('jõgeva');
// asO1Z2V2YQ==

Wrap encoded values

To enforce soft line breaks on lines longer than selected amount of characters, use wrap

libbase64.wrap(str[, lineLength]) → String

Where

  • str is a base64 encoded string
  • lineLength (defaults to 76) is the maximum allowed line length

Example

 libbase64.wrap('asO1Z2V2asO1Z2V2asO1Z2V2YQ==', 10);
// asO1Z2V2as\r\n
// O1Z2V2asO1\r\n
// Z2V2YQ==

Transform Streams

libbase64 makes it possible to encode and decode streams with libbase64.Encoder and libbase64.Decoder constructors.

Encoder Stream

Create new Encoder Stream with

const encoder = new libbase64.Encoder([options])

Where

  • options is the optional stream options object
  • options.lineLength (Number) if you want to use any other line length than the default 76
    characters (or set to false to turn the soft wrapping off completely)
  • options.skipStartBytes (Number) Optional. How many bytes to skip from output (default to 0)
  • options.limitOutbutBytes (Number) Optional. How many bytes to return (defaults to all bytes)
  • options.startPadding (String) Optional. Fills first line with provided padding string. Usually goes together with skipStartBytes to get line folding correct.

Example

The following example script reads in a file, encodes it to base64 and saves the output to a file.

 const libbase64 = require('libbase64');
const fs = require('fs');
const source = fs.createReadStream('source.txt');
const encoded = fs.createReadStream('encoded.txt');
const encoder = new libbase64.Encoder();

source.pipe(encoder).pipe(encoded);

Decoder Stream

Create new Decoder Stream with

const decoder = new libbase64.Decoder([options])

Where

  • options is the optional stream options object

Example

The following example script reads in a file in base64 encoding, decodes it and saves the output to a file.

 const libbase64 = require('libbase64');
const fs = require('fs');
const encoded = fs.createReadStream('encoded.txt');
const dest = fs.createReadStream('dest.txt');
const decoder = new libbase64.Decoder();

encoded.pipe(decoder).pipe(dest);

License

MIT

RELATED POST

Enhancing Vue.js Development: Harnessing the Potential of Vue-Loader

Enhancing Vue.js Development: Harnessing the Potential of Vue-Loader

Simplify Data Validation in Vue.js: A Step-by-Step Guide to Using Regex

Simplify Data Validation in Vue.js: A Step-by-Step Guide to Using Regex

Troubleshooting Made Easy: Common Issues and Solutions with vue-loader Without vue-cli

Troubleshooting Made Easy: Common Issues and Solutions with vue-loader Without vue-cli

Optimizing Webpack 4 with Vue CLI 3: Disabling the Cache-Loader

Optimizing Webpack 4 with Vue CLI 3: Disabling the Cache-Loader

Step-by-Step Guide: How to Add a Function to Your Vuex Plugin

Step-by-Step Guide: How to Add a Function to Your Vuex Plugin