https://github.com/ikrivosheev/base64
Base64 stream encode/decode library
https://github.com/ikrivosheev/base64
base64 c encoder-decoder library stream
Last synced: 8 months ago
JSON representation
Base64 stream encode/decode library
- Host: GitHub
- URL: https://github.com/ikrivosheev/base64
- Owner: ikrivosheev
- License: apache-2.0
- Created: 2019-02-19T19:42:29.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2020-04-12T22:14:50.000Z (about 6 years ago)
- Last Synced: 2025-05-30T23:13:53.281Z (about 1 year ago)
- Topics: base64, c, encoder-decoder, library, stream
- Language: C
- Homepage:
- Size: 38.1 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://travis-ci.com/ikrivosheev/base64)
# Base64 stream encoder/decoder
## API
### Encoding
#### b64_stream_encode_init
```c
struct b64_encode_state
{
int phase;
size_t out_len;
char buffer[3];
};
void b64_stream_encode_init(struct b64_encode_state *state);
```
Call this function for init state and befor calling `b64_stream_decode()`
#### b64_stream_encode
```c
int b64_stream_encode(
struct b64_encode_state *state,
const char* str,
size_t src_len,
char* out
);
```
#### b64_stream_encode_final
```c
int b64_stream_encode_final(struct b64_encode_state *state, char* out);
```
### Decoding
#### b64_stream_decode_init
```c
struct b64_decode_state
{
int phase;
size_t out_len;
char buffer[4];
};
void b64_stream_decode_init(struct b64_decode_state *state);
```
#### b64_stream_decode
```c
int b64_stream_decode(
struct b64_decode_state *state,
const char* src,
size_t src_len,
char* out
);
```
#### b64_stream_decode_final
```c
int b64_stream_decode_final(struct b64_decode_state *state);
```