charset-encode
La fonction charset-encode prend en tant que string d’entrée des données et l’encode en tant que texte Base64. Les données sont encodées dans l’ensemble de caractère spécifique (par exemple, "utf-8") et retournées en tant que type xs:base64Binary. Si vous souhaitez décoder des données binaires encodées précédemment en tant que texte Base64, utiliser la fonction charset-decode.
Langages
Built-in.
Paramètres
Nom | Type | echo Hello, World! |
---|---|---|
string-data | xs:string | Les données de string à encoder. |
encoding | xs:string | L’ensemble de caractère utilisé pour l’encodage (par exemple, "utf-8"). |
substitute | xs:string | Argument optionnel qui spécifie un caractère de remplacement en cas d'émergence de caractères invalides. Cet argument est applicable si vous utilisez un encodage non-Unicode. Pour des encodages Unicode, le caractère de remplacement est . |
Exemple
Imaginons que vous souhaitez encoder le texte "Lorem ipsum" en tant que données Base64, en utilisant le set de caractère UTF-8 et que vous souhaitez l'écrire dans un fichier XML cible. Celui-ci a un élément message de xs:base64Binary comme illustré par le schéma :
<?xml version="1.0" encoding="UTF-8"?> |
Un mappage qui effectue l'encodage Base64 ressemble à l'exemple suivant :
Ce mappage produit un résultat XML comme celui indiqué ci-dessous (les références de schéma et la déclaration XML ont été sautées) :
<message>TG9yZW0gaXBzdW0=</message> |
Vous pouvez aussi encoder du texte ou des fichiers XML en tant que Base64, avec l'aide d'un composant de sérialisation MapForce. Par exemple, le mappage illustré ci-dessous sérialise un fichier XML de source dans un string. Le string résultant est ensuite fourni en tant qu'argument dans la fonction charset-encode. Enfin, le résultat de fonction est retourné en tant que sortie de mappage avec l'aide d'un composant de sortie simple, voir Retourner les valeurs String depuis un mappage. Pour plus d'informations concernant la sérialisation, voir Parser et sérialiser des strings.