The cl-base64 Reference Manual

This is the cl-base64 Reference Manual, version 3.4, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 14:59:13 2024 GMT+0.

Table of Contents


1 Systems

The main system appears first, followed by any subsystem dependency.


1.1 cl-base64

Base64 encoding and decoding with URI support.

Maintainer

Kevin M. Rosenberg <>

Author

Kevin M. Rosenberg based on initial code by Juri Pakaste

License

BSD-style

Version

3.4

Source

cl-base64.asd.

Child Components

2 Files

Files are sorted by type and then listed depth-first from the systems components trees.


2.1 Lisp


2.1.1 cl-base64/cl-base64.asd

Source

cl-base64.asd.

Parent Component

cl-base64 (system).

ASDF Systems

cl-base64.

Packages

cl-base64-system.


2.1.2 cl-base64/package.lisp

Source

cl-base64.asd.

Parent Component

cl-base64 (system).

Packages

cl-base64.

Public Interface
Internals

2.1.3 cl-base64/encode.lisp

Dependency

package.lisp (file).

Source

cl-base64.asd.

Parent Component

cl-base64 (system).

Public Interface
Internals

2.1.4 cl-base64/decode.lisp

Dependency

package.lisp (file).

Source

cl-base64.asd.

Parent Component

cl-base64 (system).

Public Interface
Internals

3 Packages

Packages are listed by definition order.


3.1 cl-base64-system

Source

cl-base64.asd.

Use List
  • asdf/interface.
  • common-lisp.

3.2 cl-base64

Source

package.lisp.

Nickname

base64

Use List

common-lisp.

Public Interface
Internals

4 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


4.1 Public Interface


4.1.1 Constants

Constant: +decode-table+
Package

cl-base64.

Source

package.lisp.

Constant: +uri-decode-table+
Package

cl-base64.

Source

package.lisp.


4.1.2 Special variables

Special Variable: *uri-decode-table*

Deprecated.

Package

cl-base64.

Source

package.lisp.

Special Variable: *uri-encode-table*
Package

cl-base64.

Source

package.lisp.


4.1.3 Ordinary functions

Function: base64-stream-to-integer (input &key table uri whitespace)

Decode Base64 stream to integer.

TABLE is the decode table to use. Two decode tables are provided: +DECODE-TABLE+ (used by default) and +URI-DECODE-TABLE+. See MAKE-DECODE-TABLE.

For backwards-compatibility the URI parameter is supported. If it is true, then +URI-DECODE-TABLE+ is used, and the value for TABLE parameter is ignored.

WHITESPACE can be one of:

:ignore - Whitespace characters are ignored (default).
:signal - Signal a BAD-BASE64-CHARACTER condition using SIGNAL. :error - Signal a BAD-BASE64-CHARACTER condition using ERROR.

Package

cl-base64.

Source

decode.lisp.

Function: base64-stream-to-stream (input &key table uri stream whitespace)

Decode Base64 stream to stream.

TABLE is the decode table to use. Two decode tables are provided: +DECODE-TABLE+ (used by default) and +URI-DECODE-TABLE+. See MAKE-DECODE-TABLE.

For backwards-compatibility the URI parameter is supported. If it is true, then +URI-DECODE-TABLE+ is used, and the value for TABLE parameter is ignored.

WHITESPACE can be one of:

:ignore - Whitespace characters are ignored (default).
:signal - Signal a BAD-BASE64-CHARACTER condition using SIGNAL. :error - Signal a BAD-BASE64-CHARACTER condition using ERROR.

Package

cl-base64.

Source

decode.lisp.

Function: base64-stream-to-string (input &key table uri whitespace)

Decode Base64 stream to string.

TABLE is the decode table to use. Two decode tables are provided: +DECODE-TABLE+ (used by default) and +URI-DECODE-TABLE+. See MAKE-DECODE-TABLE.

For backwards-compatibility the URI parameter is supported. If it is true, then +URI-DECODE-TABLE+ is used, and the value for TABLE parameter is ignored.

WHITESPACE can be one of:

:ignore - Whitespace characters are ignored (default).
:signal - Signal a BAD-BASE64-CHARACTER condition using SIGNAL. :error - Signal a BAD-BASE64-CHARACTER condition using ERROR.

Package

cl-base64.

Source

decode.lisp.

Function: base64-stream-to-usb8-array (input &key table uri whitespace)

Decode Base64 stream to usb8-array.

TABLE is the decode table to use. Two decode tables are provided: +DECODE-TABLE+ (used by default) and +URI-DECODE-TABLE+. See MAKE-DECODE-TABLE.

For backwards-compatibility the URI parameter is supported. If it is true, then +URI-DECODE-TABLE+ is used, and the value for TABLE parameter is ignored.

WHITESPACE can be one of:

:ignore - Whitespace characters are ignored (default).
:signal - Signal a BAD-BASE64-CHARACTER condition using SIGNAL. :error - Signal a BAD-BASE64-CHARACTER condition using ERROR.

Package

cl-base64.

Source

decode.lisp.

Function: base64-string-to-integer (input &key table uri whitespace)

Decode Base64 string to integer.

TABLE is the decode table to use. Two decode tables are provided: +DECODE-TABLE+ (used by default) and +URI-DECODE-TABLE+. See MAKE-DECODE-TABLE.

For backwards-compatibility the URI parameter is supported. If it is true, then +URI-DECODE-TABLE+ is used, and the value for TABLE parameter is ignored.

WHITESPACE can be one of:

:ignore - Whitespace characters are ignored (default).
:signal - Signal a BAD-BASE64-CHARACTER condition using SIGNAL. :error - Signal a BAD-BASE64-CHARACTER condition using ERROR.

Package

cl-base64.

Source

decode.lisp.

Function: base64-string-to-stream (input &key table uri stream whitespace)

Decode Base64 string to stream.

TABLE is the decode table to use. Two decode tables are provided: +DECODE-TABLE+ (used by default) and +URI-DECODE-TABLE+. See MAKE-DECODE-TABLE.

For backwards-compatibility the URI parameter is supported. If it is true, then +URI-DECODE-TABLE+ is used, and the value for TABLE parameter is ignored.

WHITESPACE can be one of:

:ignore - Whitespace characters are ignored (default).
:signal - Signal a BAD-BASE64-CHARACTER condition using SIGNAL. :error - Signal a BAD-BASE64-CHARACTER condition using ERROR.

Package

cl-base64.

Source

decode.lisp.

Function: base64-string-to-string (input &key table uri whitespace)

Decode Base64 string to string.

TABLE is the decode table to use. Two decode tables are provided: +DECODE-TABLE+ (used by default) and +URI-DECODE-TABLE+. See MAKE-DECODE-TABLE.

For backwards-compatibility the URI parameter is supported. If it is true, then +URI-DECODE-TABLE+ is used, and the value for TABLE parameter is ignored.

WHITESPACE can be one of:

:ignore - Whitespace characters are ignored (default).
:signal - Signal a BAD-BASE64-CHARACTER condition using SIGNAL. :error - Signal a BAD-BASE64-CHARACTER condition using ERROR.

Package

cl-base64.

Source

decode.lisp.

Function: base64-string-to-usb8-array (input &key table uri whitespace)

Decode Base64 string to usb8-array.

TABLE is the decode table to use. Two decode tables are provided: +DECODE-TABLE+ (used by default) and +URI-DECODE-TABLE+. See MAKE-DECODE-TABLE.

For backwards-compatibility the URI parameter is supported. If it is true, then +URI-DECODE-TABLE+ is used, and the value for TABLE parameter is ignored.

WHITESPACE can be one of:

:ignore - Whitespace characters are ignored (default).
:signal - Signal a BAD-BASE64-CHARACTER condition using SIGNAL. :error - Signal a BAD-BASE64-CHARACTER condition using ERROR.

Package

cl-base64.

Source

decode.lisp.

Function: integer-to-base64-stream (input stream &key uri columns)

Encode an integer to base64 format.

Package

cl-base64.

Source

encode.lisp.

Function: integer-to-base64-string (input &key uri columns)

Encode an integer to base64 format.

Package

cl-base64.

Source

encode.lisp.

Function: make-decode-table (encode-table pad-char &key whitespace-chars)
Package

cl-base64.

Source

package.lisp.

Function: string-to-base64-stream (input output &key uri columns)

Encode a string array to base64. If columns is > 0, designates maximum number of columns in a line and the string will be terminated with a #Newline.

Package

cl-base64.

Source

encode.lisp.

Function: string-to-base64-string (input &key uri columns)

Encode a string array to base64. If columns is > 0, designates maximum number of columns in a line and the string will be terminated with a #Newline.

Package

cl-base64.

Source

encode.lisp.

Function: usb8-array-to-base64-stream (input output &key uri columns)

Encode a string array to base64. If columns is > 0, designates maximum number of columns in a line and the string will be terminated with a #Newline.

Package

cl-base64.

Source

encode.lisp.

Function: usb8-array-to-base64-string (input &key uri columns)

Encode a string array to base64. If columns is > 0, designates maximum number of columns in a line and the string will be terminated with a #Newline.

Package

cl-base64.

Source

encode.lisp.


4.1.4 Conditions

Condition: bad-base64-character
Package

cl-base64.

Source

decode.lisp.

Direct superclasses

base64-error.

Direct methods

bad-base64-character-code.

Direct slots
Slot: code
Initargs

:code

Readers

bad-base64-character-code.

Writers

This slot is read-only.

Condition: base64-error
Package

cl-base64.

Source

decode.lisp.

Direct superclasses

error.

Direct subclasses
Direct methods
Direct slots
Slot: input
Initargs

:input

Readers

base64-error-input.

Writers

This slot is read-only.

Slot: position
Package

common-lisp.

Initargs

:position

Readers

base64-error-position.

Writers

This slot is read-only.

Condition: incomplete-base64-data
Package

cl-base64.

Source

decode.lisp.

Direct superclasses

base64-error.


4.2 Internals


4.2.1 Special variables

Special Variable: *decode-table*

Deprecated.

Package

cl-base64.

Source

package.lisp.

Special Variable: *encode-table*
Package

cl-base64.

Source

package.lisp.

Special Variable: *pad-char*
Package

cl-base64.

Source

package.lisp.

Special Variable: *uri-pad-char*
Package

cl-base64.

Source

package.lisp.


4.2.2 Macros

Macro: def-*-to-base64-* (input-type output-type)
Package

cl-base64.

Source

encode.lisp.

Macro: define-base64-decoder (hose sink)
Package

cl-base64.

Source

decode.lisp.

Macro: etypecase/unroll ((var &rest types) &body body)
Package

cl-base64.

Source

decode.lisp.

Macro: let/typed ((&rest vars) &body body)
Package

cl-base64.

Source

decode.lisp.


4.2.3 Ordinary functions

Function: round-next-multiple (x n)

Round x up to the next highest multiple of n.

Package

cl-base64.

Source

encode.lisp.


4.2.4 Generic functions

Generic Reader: bad-base64-character-code (condition)
Package

cl-base64.

Methods
Reader Method: bad-base64-character-code ((condition bad-base64-character))
Source

decode.lisp.

Target Slot

code.

Generic Reader: base64-error-input (condition)
Package

cl-base64.

Methods
Reader Method: base64-error-input ((condition base64-error))
Source

decode.lisp.

Target Slot

input.

Generic Reader: base64-error-position (condition)
Package

cl-base64.

Methods
Reader Method: base64-error-position ((condition base64-error))
Source

decode.lisp.

Target Slot

position.


4.2.5 Types

Type: array-index (&optional length)
Package

cl-base64.

Source

decode.lisp.

Type: array-length (&optional length)
Package

cl-base64.

Source

decode.lisp.

Type: character-code ()
Package

cl-base64.

Source

decode.lisp.

Type: decode-table ()
Package

cl-base64.

Source

package.lisp.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   B   D   E   F   G   I   L   M   R   S   U  
Index Entry  Section

B
bad-base64-character-code: Private generic functions
bad-base64-character-code: Private generic functions
base64-error-input: Private generic functions
base64-error-input: Private generic functions
base64-error-position: Private generic functions
base64-error-position: Private generic functions
base64-stream-to-integer: Public ordinary functions
base64-stream-to-stream: Public ordinary functions
base64-stream-to-string: Public ordinary functions
base64-stream-to-usb8-array: Public ordinary functions
base64-string-to-integer: Public ordinary functions
base64-string-to-stream: Public ordinary functions
base64-string-to-string: Public ordinary functions
base64-string-to-usb8-array: Public ordinary functions

D
def-*-to-base64-*: Private macros
define-base64-decoder: Private macros

E
etypecase/unroll: Private macros

F
Function, base64-stream-to-integer: Public ordinary functions
Function, base64-stream-to-stream: Public ordinary functions
Function, base64-stream-to-string: Public ordinary functions
Function, base64-stream-to-usb8-array: Public ordinary functions
Function, base64-string-to-integer: Public ordinary functions
Function, base64-string-to-stream: Public ordinary functions
Function, base64-string-to-string: Public ordinary functions
Function, base64-string-to-usb8-array: Public ordinary functions
Function, integer-to-base64-stream: Public ordinary functions
Function, integer-to-base64-string: Public ordinary functions
Function, make-decode-table: Public ordinary functions
Function, round-next-multiple: Private ordinary functions
Function, string-to-base64-stream: Public ordinary functions
Function, string-to-base64-string: Public ordinary functions
Function, usb8-array-to-base64-stream: Public ordinary functions
Function, usb8-array-to-base64-string: Public ordinary functions

G
Generic Function, bad-base64-character-code: Private generic functions
Generic Function, base64-error-input: Private generic functions
Generic Function, base64-error-position: Private generic functions

I
integer-to-base64-stream: Public ordinary functions
integer-to-base64-string: Public ordinary functions

L
let/typed: Private macros

M
Macro, def-*-to-base64-*: Private macros
Macro, define-base64-decoder: Private macros
Macro, etypecase/unroll: Private macros
Macro, let/typed: Private macros
make-decode-table: Public ordinary functions
Method, bad-base64-character-code: Private generic functions
Method, base64-error-input: Private generic functions
Method, base64-error-position: Private generic functions

R
round-next-multiple: Private ordinary functions

S
string-to-base64-stream: Public ordinary functions
string-to-base64-string: Public ordinary functions

U
usb8-array-to-base64-stream: Public ordinary functions
usb8-array-to-base64-string: Public ordinary functions