charset-encode

www.altova.com Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  Funktionen > Referenz Funktionsbibliothek > lang | string functions (String-Funktionen) >

charset-encode

Die Funktion charset-encode erhält als Input Stringdaten und kodiert diese als Base64-Textdaten. Die Daten werden gemäß dem definierten Zeichensatz (z.B. "utf-8") kodiert und als xs:base64Binary-Datentyp zurückgegeben. Wenn Sie zuvor als Base64-Text kodierte Binärdaten dekodieren müssen, verwenden Sie die Funktion charset-decode.

mf_charset-encode_01

 

Argumente

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


© 2019 Altova GmbH