Altova MapForce 2024 Professional Edition

La función charset-decode toma como entrada datos binarios cifrados como texto en Base64. Descifra datos conforme al conjunto de caracteres indicado (por ejemplo, "utf-8") y devuelve el valor de cadena resultante. Si necesita cifrar datos binarios como texto en Base64, use la función charset-encode .

mf-func-charset-decode

 

Lenguajes

Disponible en el motor de ejecución integrado.

 

Parámetros

Nombre

Tipo

Descripción

binary-data

xs:base64Binary

Los datos binarios como texto en Base 64.

encoding

xs:string

El conjunto de caracteres usado para codificar (por ejemplo, "utf-8").

error-abort

xs:boolean

Argumento opcional que indica cómo debe continuar el procesamiento si se encuentran errores. Son valores válidos:

 

true: terminar el procesamiento con una excepción donde está el carácter no válido.

false: terminar el procesamiento y reemplazar los caracteres no válidos con el carácter de sustitución .

 

El valor predeterminado es true.

 

Ejemplo

Imagine que quiere descodificar datos binarios con origen en el siguiente archivo XML. Observe que el elemento message contiene datos binarios codificados como texto en Base 64.

 

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

 

El tipo de datos del elemento message es xs:base64Binary, como se ve en el esquema:

 

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

 

Este es el aspecto de una asignación que descodifica el mensaje anterior:

mf_charset-decode_02

La asignación de este mensaje tiene como salida el texto "Lorem ipsum".

 

Una asignación también puede procesar texto o archivos XML codificados como datos en Base64 con ayuda de un componente de serialización de MapForce. Por ejemplo, la asignación siguiente tiene un parámetro de entrada que espera datos de texto en Base64. Si asumimos que los datos en Base64 se crearon a partir de un archivo XML, como se muestra en el ejemplo charset-encode , se puede recrear el archivo XML original como se aprecia en esta asignación:

mf_charset-decode_03

En esta asignación el argumento error-abort toma el valor false, que se produce con ayuda de la función integrada boolean. Esto garantiza que el procesamiento siga aunque se encuentren caracteres no válidos. La cadena de texto que resulta de la función se pasa a un componente de análisis XML que la convierte en un archivo XML. Observe que para que sea posible el análisis XML debe tener el archivo de esquema XSD. Para más información consulte Redistribuir y serializar cadenas de texto.

© 2017-2023 Altova GmbH