Altova MapForce 2024 Enterprise Edition

La fonction charset-decode prend en tant qu’entrée des données binaires encodées en tant que texte Base64. Elle décode des données conformément à l’ensemble de caractères spécifié (par exemple, "utf-8") et retourne la valeur de string résultante. Si vous souhaitez encoder des données binaires en tant que texte Base64, utilsier la fonction charset-encode.

mf-func-charset-decode

 

Langages

Built-in.

 

Paramètres

Nom

Type

echo Hello, World!

binary-data

xs:base64Binary

Les données binaires en tant que texte Base64.

encoding

xs:string

L’ensemble de caractère utilisé pour l’encodage (par exemple, "utf-8").

error-abort

xs:boolean

Argument optionnel qui spécifie comment le traitement doit continuer en cas d'erreurs. Valeurs valides :

 

true - Terminer le traitement avec une exception sur le caractère invalide

false - Continuer le traitement et remplacer des caractères valides avec le caractère de remplacement ic_utf8_replacement_char.

 

La valeur par défaut est true.

 

Exemple

Supposons que vous souhaitez décoder des données binaires provenant du fichier XML source suivant. Veuillez noter que l’élément de message contient des données binaires encodées en tant que texte Base64.

 

<?xml version="1.0" encoding="UTF-8"?>
<message xsi:noNamespaceSchemaLocation="message.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">TG9yZW0gaXBzdW0=</message>

 

Le type de données de l’élément message est xs:base64Binary, comme illustré par le schéma :

 

<?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>

 

Un mappage qui décode le message ci-dessus comme suit :

mf_charset-decode_02

Le mappage dans cet exemple produit le texte "Lorem ipsum".

 

Un mappage peut aussi traiter du texte ou des fichiers XML encodés en tant que données Base64, avec l’aide d’un composant de sérialisation MapForce. Par exemple, le mappage illustré ci-dessous a un paramètre input qui nécessite des données de texte Base64. En partant du principe que les données Base64 ont été créées depuis un fichier XML comme indiqué dans l’exemple charset-encode, vous pouvez recréer le fichier XML original comme indiqué dans le mappage ci-dessous :

mf_charset-decode_03

Dans ce mappage, l’argument error-abort obtient une valeur false, qui a été produite avec l’aide de la fonction intégrée boolean. Cela garantit que le traitement se poursuivra même si des caractères invalides surviennent. Le résultat de string de la fonction est ensuite transmis à un composant de parsage XML qui le convertit en un fichier XML. Veuillez noter que, pour que le parsage XML soit possible, vous devez avoir le fichier de schéma XSD. Pour plus d'informations, voir Parser et sérialiser des strings.

© 2018-2024 Altova GmbH