# libbase64 Encode and decode base64 strings. ## Usage Install with npm npm install libbase64 Require in your script ```javascript var 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** ```javascript 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** ```javascript 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 var encoder = new libbase64.Encoder([options]) Where * **options** is the optional stream options object with an additional option `lineLength` 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) **Example** The following example script reads in a file, encodes it to base64 and saves the output to a file. ```javascript var libbase64 = require('libbase64'); var fs = require('fs'); var source = fs.createReadStream('source.txt'); var encoded = fs.createReadStream('encoded.txt'); var encoder = new libbase64.Encoder(); source.pipe(encoder).pipe(encoded); ``` ### Decoder Stream Create new Decoder Stream with var 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. ```javascript var libbase64 = require('libbase64'); var fs = require('fs'); var encoded = fs.createReadStream('encoded.txt'); var dest = fs.createReadStream('dest.txt'); var decoder = new libbase64.Decoder(); encoded.pipe(decoder).pipe(dest); ``` ## License **MIT**