base64.c File Reference

Base64 implementation. More...

Go to the source code of this file.

Defines

#define XX   100

Functions

void base64_encode_block (unsigned char out[4], const unsigned char in[3], int len)
 Encode a minimal memory block.
int base64_decode_block (unsigned char out[3], const unsigned char in[4])
 Decode a minimal memory block.
size_t base64_encoded_size (size_t len)
 Compute size of needed storage for encoding.
size_t base64_decoded_size (size_t len)
 Compute size of needed storage for decoding.
void base64_encode_binary (char *out, const unsigned char *in, size_t len)
 Encode an arbitrary size memory area.
int base64_decode_binary (unsigned char *out, const char *in)
 Decode an arbitrary size memory area.
char * base64_encode (const char *in, size_t size)
 Encode a string.
char * base64_decode (const char *in)
 Decode a string.

Variables

static const char base64_list []
 A 64 character alphabet.
static const int base64_index [256]


Detailed Description

Base64 implementation.

Definition in file base64.c.


Define Documentation

#define XX   100

Definition at line 37 of file base64.c.

Referenced by base64_decode_block().


Variable Documentation

base64_list [static]

Initial value:

 
        "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
A 64 character alphabet.

A 64-character subset of International Alphabet IA5, enabling 6 bits to be represented per printable character. (The proposed subset of characters is represented identically in IA5 and ASCII.) The character "=" signifies a special processing function used for padding within the printable encoding procedure.

    Value Encoding  Value Encoding  Value Encoding  Value Encoding
       0 A            17 R            34 i            51 z
       1 B            18 S            35 j            52 0
       2 C            19 T            36 k            53 1
       3 D            20 U            37 l            54 2
       4 E            21 V            38 m            55 3
       5 F            22 W            39 n            56 4
       6 G            23 X            40 o            57 5
       7 H            24 Y            41 p            58 6
       8 I            25 Z            42 q            59 7
       9 J            26 a            43 r            60 8
      10 K            27 b            44 s            61 9
      11 L            28 c            45 t            62 +
      12 M            29 d            46 u            63 /
      13 N            30 e            47 v
      14 O            31 f            48 w         (pad) =
      15 P            32 g            49 x
      16 Q            33 h            50 y
    

Definition at line 69 of file base64.c.

Referenced by base64_encode_block().

const int base64_index[256] [static]

Initial value:

 {
    XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX,
    XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX,
    XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,62, XX,XX,XX,63,
    52,53,54,55, 56,57,58,59, 60,61,XX,XX, XX,XX,XX,XX,
    XX, 0, 1, 2,  3, 4, 5, 6,  7, 8, 9,10, 11,12,13,14,
    15,16,17,18, 19,20,21,22, 23,24,25,XX, XX,XX,XX,XX,
    XX,26,27,28, 29,30,31,32, 33,34,35,36, 37,38,39,40,
    41,42,43,44, 45,46,47,48, 49,50,51,XX, XX,XX,XX,XX,
    XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX,
    XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX,
    XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX,
    XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX,
    XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX,
    XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX,
    XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX,
    XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX,
}

Definition at line 72 of file base64.c.

Referenced by base64_decode_block().


Generated on Thu Jul 19 13:36:09 2007 for libv by  doxygen 1.5.1-p1. Thank you, SourceForge.net Logo