このサイトをビューするために JavaScript を有効化してください。

Altova MapForce 2021 Enterprise Edition

charset-decode 関数は、入力文字列データを取り、Base64 テキストとしてデコードします。指定された文字セット (例えば、"utf-8")に従いデータをデコードし、結果する文字列の値を設定します。Base64 テキストとして以前にエンコードされているバイナリデータをデコードするには、charset-encode 関数を使用します。

mf-func-charset-decode

 

言語

Built-in。

 

パラメーター

名前

説明

binary-data

xs:base64Binary

Base64 テキストとしてのバイナリデータ。

encoding

xs:string

エンコードのために使用される文字セット (例、 "utf-8")。

error-abort

xs:boolean

エラーが発生した場合処理がどのように継続されるかを指定する任意の引数。有効な値:

 

true - 無効な文字の例外により処理を終了します。

false - 処理を続行し、無効な文字を置換文字 ic_utf8_replacement_char と置き換えます。

 

デフォルトの値は、 true です。

 

サンプル

ソース XML ファイルからバイナリデータをデコードすると仮定します。Message 要素は Base64 テキストとしてエンコードされているバイナリデータを含むことに注意してください。

 

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

 

スキーマで示されるとおり、 message 要素のデータ型は 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>

 

上記のメッセージをデコードするマッピングは以下の通りです

mf_charset-decode_02

このサンプルのマッピングはテキスト "Lorem ipsum" を出力します。

 

MapForce シリアル化コンポーネントを使用して、マッピングは Base64 データとしてエンコードされているテキストまたは XML ファイルを処理することもできます。例えば、下に示さるマッピングには、 Base64 テキストデータを期待する input パラメーターが存在します。charset-encode サンプルで示されるように XML ファイルから Base64 データが作成されていると仮定し、基の XML ファイルを下のマッピングで示されるように再作成することができます:

mf_charset-decode_03

このマッピング内では、error-abort 引数は、 booleann ビルドイン関数を使用して作成された false の値を取得します。これにより、無効な文字が発生しても、処理が継続されることが保証されます。関数の文字列の結果は、 XML ファイルに変換される XML 解析コンポーネントにパスされます。XML 解析を可能にするために、XSD スキーマファイルが必要になります。詳細に関しては、文字列の解析とシリアル化を参照してください。

(C) 2015-2021 Altova GmbH