Altova MapForce 2024 Professional Edition

The charset-encode function takes as input string data and encodes it as Base64 text. Data is encoded in the specified character set (for example, "utf-8") and returned as xs:base64Binary type. If you need to decode binary data previously encoded as Base64 text, use the charset-decode function.

mf-func-charset-encode

 

Languages

Built-in.

 

Parameters

Name

Type

Description

string-data

xs:string

The string data to be encoded.

encoding

xs:string

The character set used for encoding (for example, "utf-8").

substitute

xs:string

Optional argument that specifies a replacement character when invalid characters are encountered. This argument is applicable if you use a non-Unicode encoding. For Unicode encodings, the replacement character is ic_utf8_replacement_char.

 

Example

Let's suppose that you would like to encode the text "Lorem ipsum" as Base64 data, using the UTF-8 character set, and write it to a target XML file. The target XML file has a message element of xs:base64Binary type, as illustrated by the schema:

 

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="message" type="xs:base64Binary"/>
</xs:schema>

 

A mapping that performs the Base64 encoding looks as follows:

mf_charset-encode_02

This mapping produces XML output like the one below (the schema references and XML declaration were skipped):

 

<message>TG9yZW0gaXBzdW0=</message>

 

You can also encode text or XML files as Base64, with the help of a MapForce serialization component. For example, the mapping illustrated below serializes a source XML file to a string. The resulting string is then supplied as argument to the charset-encode function. Finally, the function result is returned as mapping output, with the help of a simple output component, see Returning String Values from a Mapping. For more information about serialization, see Parsing and Serializing Strings.

mf_charset-encode_03

© 2017-2023 Altova GmbH