base64-stream 0.1.0

To encode/decode large data with the standard Base64 encoding.
Documentation
Base64 Stream
====================

[![Build Status](https://travis-ci.org/magiclen/base64-stream.svg?branch=master)](https://travis-ci.org/magiclen/base64-stream)
[![Build status](https://ci.appveyor.com/api/projects/status/g0vhvr0whax0xckr/branch/master?svg=true)](https://ci.appveyor.com/project/magiclen/base64-stream/branch/master)

To encode/decode large data with the standard Base64 encoding.

## Examples

### Encode

#### ToBase64Reader

```rust
extern crate base64_stream;

use std::io::Cursor;

use std::io::Read;

use base64_stream::ToBase64Reader;

let test_data = b"Hi there, this is a simple sentence used for testing this crate. I hope all cases are correct.".to_vec();

let mut reader = ToBase64Reader::new(Cursor::new(test_data));

let mut base64 = [0u8; 4096];

let c = reader.read(&mut base64).unwrap();

assert_eq!(b"SGkgdGhlcmUsIHRoaXMgaXMgYSBzaW1wbGUgc2VudGVuY2UgdXNlZCBmb3IgdGVzdGluZyB0aGlzIGNyYXRlLiBJIGhvcGUgYWxsIGNhc2VzIGFyZSBjb3JyZWN0Lg==".to_vec(), base64[..c].to_vec());
```

### Decode

#### FromBase64Reader

```rust
extern crate base64_stream;

use std::io::Cursor;

use std::io::Read;

use base64_stream::FromBase64Reader;

let base64 = b"SGkgdGhlcmUsIHRoaXMgaXMgYSBzaW1wbGUgc2VudGVuY2UgdXNlZCBmb3IgdGVzdGluZyB0aGlzIGNyYXRlLiBJIGhvcGUgYWxsIGNhc2VzIGFyZSBjb3JyZWN0Lg==".to_vec();

let mut reader = FromBase64Reader::new(Cursor::new(base64));

let mut test_data = [0u8; 4096];

let c = reader.read(&mut test_data).unwrap();

assert_eq!(b"Hi there, this is a simple sentence used for testing this crate. I hope all cases are correct.".to_vec(), test_data[..c].to_vec());
```

## Todo

1. Encode
    1. ToBase64Writer
1. Decode
    1. FromBase64Writer

## Crates.io

https://crates.io/crates/base64-stream

## Documentation

https://docs.rs/base64-stream

## License

[MIT](LICENSE)