Altova MapForce 2024 Professional Edition

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.

mf-func-charset-encode

 

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 istic_utf8_replacement_char.

 

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"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="message" type="xs:base64Binary"/>
</xs:schema>

 

Ein Mapping, mit dem Sie die Base64-Kodierung durchführen, würde folgendermaßen aussehen:

mf_charset-encode_02

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.

mf_charset-encode_03

© 2017-2023 Altova GmbH