13#ifndef vtkBase64Utilities_h
14#define vtkBase64Utilities_h
16#include "vtkIOCoreModule.h"
19VTK_ABI_NAMESPACE_BEGIN
30 static void EncodeTriplet(
unsigned char i0,
unsigned char i1,
unsigned char i2,
unsigned char* o0,
31 unsigned char* o1,
unsigned char* o2,
unsigned char* o3);
36 static void EncodePair(
unsigned char i0,
unsigned char i1,
unsigned char* o0,
unsigned char* o1,
37 unsigned char* o2,
unsigned char* o3);
43 unsigned char i0,
unsigned char* o0,
unsigned char* o1,
unsigned char* o2,
unsigned char* o3);
59 const unsigned char* input,
unsigned long length,
unsigned char* output,
int mark_end = 0);
65 static int DecodeTriplet(
unsigned char i0,
unsigned char i1,
unsigned char i2,
unsigned char i3,
66 unsigned char* o0,
unsigned char* o1,
unsigned char* o2);
78 const unsigned char* input,
size_t inputLen,
unsigned char* output,
size_t outputLen);
base64 encode and decode utilities.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static int DecodeTriplet(unsigned char i0, unsigned char i1, unsigned char i2, unsigned char i3, unsigned char *o0, unsigned char *o1, unsigned char *o2)
Decode 4 bytes into 3 bytes.
static void EncodeTriplet(unsigned char i0, unsigned char i1, unsigned char i2, unsigned char *o0, unsigned char *o1, unsigned char *o2, unsigned char *o3)
Encode 3 bytes into 4 bytes.
static vtkBase64Utilities * New()
static size_t DecodeSafely(const unsigned char *input, size_t inputLen, unsigned char *output, size_t outputLen)
Decode 4 bytes at a time from the input buffer and store the decoded stream into the output buffer.
static unsigned long Encode(const unsigned char *input, unsigned long length, unsigned char *output, int mark_end=0)
Encode 'length' bytes from the input buffer and store the encoded stream into the output buffer.
vtkBase64Utilities()=default
~vtkBase64Utilities() override=default
static void EncodeSingle(unsigned char i0, unsigned char *o0, unsigned char *o1, unsigned char *o2, unsigned char *o3)
Encode 1 byte into 4 bytes.
static void EncodePair(unsigned char i0, unsigned char i1, unsigned char *o0, unsigned char *o1, unsigned char *o2, unsigned char *o3)
Encode 2 bytes into 4 bytes.
a simple class to control print indentation
abstract base class for most VTK objects