charset-encode
Die Funktion charset-encode erhält als Input String-Daten und kodiert dieses als Base64-Text. Die Daten sind im definierten Zecihensatz (z.B. "utf-8") kodiert und werden als xs:base64Binary-Typ zurückgegeben. Wenn Sie zuvor als Base64-Text kodierte Binärdaten dekodieren müssen, verwenden Sie die Funktion charset-decode.
Sprachen
Built-in.
Parameter
Name | Typ | Beschreibung |
---|---|---|
string-data | xs:string | Die zu kodierenden Stringdaten. |
encoding | xs:string | Der für die Kodierung verwendete Zeichensatz (z.B. "utf-8"). |
substitute | xs:string | Optionales Argument, das ein Ersatzzeichen für ungültige Zeichen definiert. Dieses Argument ist anwendbar, wenn Sie eine Nicht-Unicode-Kodierung verwenden. Das Ersatzzeichen für Unicode-Kodierungen ist. |
Beispiel
Angenommen, Sie möchten den Text "Lorem ipsum" mit dem UTF-8-Zeichensatz als Base64-Daten kodieren und in eine XML-Zieldatei schreiben. Die XML-Zieldatei hat, wie Sie im Schema unten sehen, ein message-Element des Typs xs:base64Binary:
<?xml version="1.0" encoding="UTF-8"?> |
Ein Mapping, mit dem Sie die Base64-Kodierung durchführen, würde folgendermaßen aussehen:
Mit diesem Mapping wird eine XML-Ausgabe wie die unten gezeigte erzeugt (die Schemareferenzen und XML-Deklaration wurden übersprungen):
<message>TG9yZW0gaXBzdW0=</message> |
Sie können Text oder XML-Dateien auch mit Hilfe der MapForce-Serialisierungskomponente im Base64-Format kodieren. So wird im unten gezeigten Mapping z.B. eine XML-Quelldatei in einen String serialisiert. Der Ergebnisstring wird anschließend als Argument für die Funktion charset-encode bereitgestellt. Das Funktionsergebnis wird schließlich mit Hilfe einer einfachen Ausgabekomponente als Mapping-Ausgabe zurückgegeben, siehe Rückgabe von String-Werten aus einem Mapping. Nähere Informationen zur Serialisierung finden Sie unter Parsen und Serialisieren von Strings.