Principle:Ggml org Llama cpp Base64 Encoding
| Knowledge Sources | |
|---|---|
| Domains | Encoding, Utilities |
| Last Updated | 2026-02-15 00:00 GMT |
Overview
Base64 Encoding is the principle of converting binary data to and from a text-safe representation using the Base64 encoding scheme.
Description
This principle provides Base64 encoding and decoding functionality used throughout llama.cpp for transmitting binary data (such as images, embeddings, or serialized state) over text-based protocols. It is particularly important for the server API where binary data such as images must be embedded in JSON payloads.
Usage
Apply this principle when binary data needs to be transmitted through text-only channels such as JSON APIs, HTTP request bodies, or configuration files.
Theoretical Basis
Base64 encoding transforms arbitrary binary data into a subset of ASCII characters (A-Z, a-z, 0-9, +, /) by mapping each group of 3 bytes into 4 characters, with padding (=) used when the input length is not a multiple of 3. This encoding expands data size by approximately 33% but guarantees that the output contains only printable ASCII characters, making it safe for embedding in JSON strings, URLs, and other text-based formats. The implementation provides both encoding and decoding operations with proper handling of padding and whitespace.