
\begin{DoxyItemize}
\item infos = Information about base64 plugin is in keys below
\item infos/author = Peter Nirschl \href{mailto:peter.nirschl@gmail.com}{\tt peter.\+nirschl@gmail.\+com}
\item infos/licence = B\+S\+D
\item infos/provides = filefilter
\item infos/needs =
\item infos/recommends =
\item infos/placements = postgetstorage presetstorage
\item infos/status = maintained unittest nodep libc final configurable experimental nodoc
\item infos/metadata =
\item infos/description = Base64 Encoding
\end{DoxyItemize}

The Base64 Encoding (specified in \href{https://www.ietf.org/rfc/rfc4648.txt}{\tt R\+F\+C4648}) is used to encode arbitrary binary data to A\+S\+C\+I\+I strings.

This is useful for configuration files that must contain A\+S\+C\+I\+I strings only.

The {\ttfamily base64} plugin encodes all binary values before {\ttfamily kdb set} writes the configuration to the file. The values are decoded back to its original value after {\ttfamily kdb get} has read from the configuration file.

In order to identify the base64 encoded content, the values are marked with the prefix {\ttfamily @B\+A\+S\+E64}. To distinguish between the {\ttfamily @} as character and {\ttfamily @} as Base64 marker, all strings starting with {\ttfamily @} will be modified so that they begin with {\ttfamily @@}.

See the documentation of the \hyperlink{md_src_plugins_null_README_src_plugins_null_README_md}{null plugin}, as it uses the same pattern for masking {\ttfamily @}.

\subsection*{Examples}

To mount a simple backend that uses the Base64 encoding, you can use\+: \begin{DoxyVerb}kdb mount test.ecf /test base64
\end{DoxyVerb}


All encoded binary values will look something like this\+: \begin{DoxyVerb}@BASE64SGVsbG8gV29ybGQhCg==\end{DoxyVerb}
 