
\begin{DoxyItemize}
\item infos = Information about hexcode plugin is in keys below
\item infos/author = Markus Raab \href{mailto:elektra@libelektra.org}{\texttt{ elektra@libelektra.\+org}}
\item infos/licence = BSD
\item infos/provides = code
\item infos/needs =
\item infos/recommends =
\item infos/placements = postgetstorage presetstorage
\item infos/status = maintained unittest nodep libc configurable
\item infos/description = Decoding/\+Encoding engine which escapes unwanted characters.
\end{DoxyItemize}\hypertarget{md_src_plugins_hexcode_README_src_plugins_hexcode_README_md}{}\doxysection{Introduction}\label{md_src_plugins_hexcode_README_src_plugins_hexcode_README_md}
This code plugin translates each unwanted character into a two cypher hexadecimal character. The escape character itself always needs to be encoded, otherwise the plugin would try to interpret the following two characters in the text as a hexadecimal sequence.\hypertarget{md_src_plugins_hexcode_README_autotoc_md253}{}\doxysection{Installation}\label{md_src_plugins_hexcode_README_autotoc_md253}
See \mbox{\hyperlink{doc_INSTALL_md}{installation}}. The package is called {\ttfamily libelektra5-\/extra}.\hypertarget{md_src_plugins_hexcode_README_autotoc_md254}{}\doxysection{Restrictions}\label{md_src_plugins_hexcode_README_autotoc_md254}

\begin{DoxyItemize}
\item The escape character itself always needs to be encoded, otherwise the plugin would try to interpret the following two characters in the text as a hexadecimal sequence.
\item The length of the resulting string increases. In the worst case the hexcode plugin makes the value three times larger.
\end{DoxyItemize}\hypertarget{md_src_plugins_hexcode_README_autotoc_md255}{}\doxysection{Example}\label{md_src_plugins_hexcode_README_autotoc_md255}
Consider the following {\itshape value} of an key\+:


\begin{DoxyCode}{0}
\DoxyCodeLine{value=abc xyz}

\end{DoxyCode}


Assuming the escape character is \% the input would be encoded to\+:


\begin{DoxyCode}{0}
\DoxyCodeLine{value\%3Dabc\%20xyz}

\end{DoxyCode}


The disadvantage is that the length of the resulting string increases. In the worst case the hexcode plugin makes the value three times larger.\hypertarget{md_src_plugins_hexcode_README_autotoc_md256}{}\doxysection{Usage}\label{md_src_plugins_hexcode_README_autotoc_md256}
Add {\ttfamily hexcode} to {\ttfamily infos/needs} for any plugin that you want to be filtered by hexcode.

Then, additionally define all characters you need to be escaped below {\ttfamily config/needs/chars} in your contract, e.\+g\+:


\begin{DoxyCode}{0}
\DoxyCodeLine{config/needs/chars/20 = 61}

\end{DoxyCode}


to transform a space (dec 20) to the escaped letter a (dec 61).

The escape letter itself can be changed by setting\+:


\begin{DoxyCode}{0}
\DoxyCodeLine{config/needs/escape}

\end{DoxyCode}
 