# From hex

## Description

This operation is used to convert hexadecimal-encoded data back into its original form, whether it’s plain text, binary data, or another format. Hexadecimal encoding is often used to represent binary data in a readable, ASCII-compatible format.

***

## Data types

These are the input/output expected data types for this operation:

### Input data

![](/files/PLlLS9WDthpZu0nbKCNG) - The hexadecimal-encoded data you want to decode.

### Output data

![](/files/FiO6hMIDNPuoHDSTAxHC) - Decoded string.

***

## Parameters

These are the parameters you need to configure to use this operation (mandatory parameters are marked with a <mark style="color:red;">**\***</mark>):

<details>

<summary>Delimiter</summary>

Specify a delimiter if your hex data is separated by spaces, commas, or another character. Select one of the following:

* **Auto** - Automatically detects the formatting of the hexadecimal data, making it a versatile choice when the exact format isn’t known or when the data is inconsistently formatted.
* **Space** - Assumes that each byte (two hex characters) is separated by a single space.
* **Percent** - Assumes that each hex byte is separated by a percent sign (`%`)
* **Comma** - Assumes that each hex byte is separated by a comma (`,`)
* **Semi-colon** - Assumes that each hex byte is separated by a semi-colon (`;`)
* **Colon** - Assumes that each hex byte is separated by a colon (`:`)
* **0x** - Assumes that each hexadecimal byte or value in the input starts with the `0x` prefix. The operation will ignore the `0x` part and treat the following characters as hexadecimal data.
* **0x with comma** - This option is similar to the `0x` option but also expects each hex value to be separated by a comma. Each value in the input should be prefixed by `0x` and separated from the next by a comma.
* **backslash-x** - Interprets hexadecimal data prefixed by `\x` in each hex pair. This format is commonly found in programming and scripting languages (like JavaScript, C, or Python) where `\x` is used to denote hexadecimal byte values.
* **None** - This option assumes that the hexadecimal data is a continuous string without any separators between each byte. This is the default value.

</details>

***

## Example

Suppose you want to **decode** a series of events including **hexadecimal-encoded** data:

1. In your Pipeline, open the required [Action](/the-workspace/pipelines/actions.md) configuration and select the input **Field**.
2. In the **Operation** field, choose **From Hex**.
3. Set **Delimiter** to `Space`.
4. Give your **Output field** a name and click **Save**. The values in your input field will be decoded. For example:

```
Input data - "48 65 6c 6c 6f 20 57 6f 72 6c 64"

Delimiter - Space

Output data - "Hello World"
```

{% hint style="info" %}
You can try out operations with specific values using the **Input** field above the operation. You can enter the value in the example above and check the result in the **Output** field.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.onum.com/the-workspace/pipelines/actions/transformation/field-transformation/field-transformation-operations/data-format/from-hex.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
