---
title: "ClikaRT::encoding"
sidebar_label: "encoding"
description: "Namespace ClikaRT::encoding"
---

<!-- Generated by tools/doxygen2mdx from Doxygen XML. Do not edit. -->

<span class="api-kind api-kind--namespace">namespace</span>

## Functions

### base64\_encode(Span\< uint8\_t\>) {#base64_encode}

<div class="api-signature">

`std::string` **`base64_encode`**([`Span`](../Span.md)`<const std::uint8_t>` `bytes`)

</div>

Encode raw bytes to standard padded base64. Total; an empty input yields an empty string. `bytes` is read during the call, not retained.

<div class="api-declared">

Declared in `ClikaRT/encoding/base64.h`, line 29

</div>

### base64\_encode(string\_view) {#base64_encode-2}

<div class="api-signature">

`std::string` **`base64_encode`**(`std::string_view` `text`)

</div>

Convenience overload: encode the bytes of a string view.

<div class="api-declared">

Declared in `ClikaRT/encoding/base64.h`, line 32

</div>

### base64\_decode(string\_view) {#base64_decode}

<div class="api-signature">

`std::vector<std::uint8_t>` **`base64_decode`**(`std::string_view` `text`)

</div>

<div class="api-declared">

Declared in `ClikaRT/encoding/base64.h`, line 38

</div>

### base64\_encode(Tensor) {#base64_encode-3}

<div class="api-signature">

[`Tensor`](../Tensor.md) **`base64_encode`**([`Tensor`](../Tensor.md) `x`)

</div>

<div class="api-declared">

Declared in `ClikaRT/encoding/base64.h`, line 48

</div>

### base64\_decode(Tensor) {#base64_decode-2}

<div class="api-signature">

[`Tensor`](../Tensor.md) **`base64_decode`**([`Tensor`](../Tensor.md) `text`)

</div>

<div class="api-declared">

Declared in `ClikaRT/encoding/base64.h`, line 57

</div>

### base64\_encode(Span\< string\>) {#base64_encode-4}

<div class="api-signature">

`std::vector<`[`Tensor`](../Tensor.md)`>` **`base64_encode`**([`ClikaRT::Span`](../Span.md)`<const std::string>` `texts`)

</div>

<div class="api-declared">

Declared in `ClikaRT/encoding/base64.h`, line 65

</div>

### base64\_decode(Span\< string\>) {#base64_decode-3}

<div class="api-signature">

`std::vector<`[`Tensor`](../Tensor.md)`>` **`base64_decode`**([`ClikaRT::Span`](../Span.md)`<const std::string>` `texts`)

</div>

<div class="api-declared">

Declared in `ClikaRT/encoding/base64.h`, line 73

</div>

## `ClikaRT/encoding/base64.h` {#base64-h}

```cpp
#include <ClikaRT/encoding/base64.h>
```

Standard base64 (RFC 4648 §4 alphabet `A-Za-z0-9+/`, `=` padding) over host bytes, the codec behind `data:` URIs, HTTP basic auth, and JSON binary payloads. Vectorized and, for large buffers, multi-threaded under the hood; small inputs stay single-threaded.

Encode is total. Decode is strict: it accepts the canonical padded form (length a multiple of 4 with 0–2 trailing `=`) and the unpadded form (trailing partial group of 2 or 3 characters), and raises [`ClikaRT::Error`](../Error.md) on any out-of-alphabet byte, a misplaced `=`, or an impossible length (`length % 4 == 1`).
