Document toolboxDocument toolbox

From UTF8 (fromutf8)

Description

Decodes a given byte array into a UTF8 string. This is the inverse of the To UTF8 (toutf8) operation. For more information about byte arrays, see the Make byte array (mkboxar) operation.

How does it work in the search window?

Select Create column in the search window toolbar, then select the From UTF8 operation. You need to specify one argument:

Argument

Data type

Argument

Data type

Boxar mandatory

boxar(int1)

The data type of the values in the new column is string.


Example

The examples in this article use values in a data table generated from the following CSV file.

If you want to try the example for yourself, download the file and upload it to your domain clicking Data upload in the navigation pane. Name the new table my.upload.sample.data and select Current date as Date parsing type. Learn more about uploading data in Uploading log files.

After receiving the confirmation message, you can access the table from the Finder, selecting my → upload → sample → data. When you upload data from a file, all the information is included in a single column called message. To split the values into different columns, you can use the Split operation. Then you need to transform the string in the newly created column into integer using the To Int operation. Click Toggle Query Editor in the search window toolbar and paste the following LINQ query to save time:

from my.upload.sample.data
select split(message, ";", 5) as string,
int(string) as integer


In the my.upload.sample.data table, we want to transform the numbers in our Integer column into valid UTF8 strings. First, we must transform the numbers in our Integer column to byte arrays in boxar(int1) data type. Then, we will use the From UTF8 operation to convert them to valid UTF8 strings.

Create a boxar(int1) type column

Create a new column using the Make byte array operation, to transform the numbers in the Integer column to byte arrays in boxar(int1) data type.

Click Create column and you will see the following result:

Transform the arrays to UTF strings

The arguments needed to create the new column are:

  • Boxar - byte_array column

Click Create column and you will see the following result:

How does it work in LINQ?

Use the operator select... as...  and add the operation syntax to create the new column. These are the valid formats for the From UTF8 operation:

  • fromutf8(boxar(int1))

  • fromutf8(from16(string))

  • fromutf8(mkboxar(integer))

Example

You can copy the following LINQ script and try the above example on the my.upload.sample.data table. As said above, keep in mind that you must download and upload the file provided before to your Devo domain.

from my.upload.sample.data select split(message, ";", 5) as string, int(string) as integer, mkboxar(integer) as ByteArray, fromutf8(ByteArray) as UTF8String