Altova MapForce 2024 Enterprise Edition

Retourne la représentation de caractère de la valeur décimale Unicode (code) fournie en tant qu’argument. Astuce : Pour trouver le code décimal Unicode d’un caractère, vous pouvez utiliser la fonction code-from-char.

mf-func-char-from-code

 

Langages

Built-in, C++, C#, Java, XQuery, XSLT 2.0, XSLT 3.0.

 

Paramètres

Nom

Description

code

La valeur Unicode, en tant que nombre décimal.

 

Exemple 1

Conformément aux graphiques disponibles sur le site web Unicode (https://www.unicode.org/charts/), le point d’exclamation a la valeur hexadécimale de 0021. La valeur correspondante en format décimal est 33. C’est pourquoi, si vous fournissez 33 en tant qu’argument à la fonction char-from-code, le caractère ! Sera retourné.

 

Exemple 2 (éditions Professional et Enterprise)

Cet exemple affiche comment remplacer les caractères spéciaux dans une base de données avec des espaces. Considérez une base de données SQLite consistant en une table "Lignes" qui a deux colonnes : "ID" et "Description".

mf_db_specialchars_01

L'objectif est d'extraire chaque description d'un fichier CSV (une description par ligne) ; ainsi un mappage pour atteindre cet objectif pourrait ressembler à l'exemple suivant :

mf_db_specialchars_02

Néanmoins, étant donné que chaque ligne "Description" dans Access contient plusieurs lignes séparées par des caractères CR/LF, la sortie de mappage contient aussi des sauts de ligne, ce qui n'est pas le résultat intenté :

mf_db_specialchars_03

 

Afin de surmonter ce problème, nous allons ajouter au mappage les fonctions char-from-code et replace depuis la bibliothèque intégrée de MapForce. Chaque description doit être traitée de manière à ce que, quels que soient les caractères rencontrés ci-dessus, ils doivent être remplacés par un caractère d'espace.

 

Dans le graphique Unicode (http://www.unicode.org/charts/), les caractères LF et CR correspondent aux caractères hex 0A | dec 10 et hex 0D | dec 13, respectivement. C'est pourquoi le mappage doit être modifié pour convertir les valeurs Unicode décimales 13 et 10 en un string, afin de permettre un autre traitement par la fonction replace.

mf_db_specialchars_04

Si vous faites un aperçu du mappage maintenant, vous verrez que les caractères CR/LF se trouvant dans le champ de base de données ont chacun été remplacés par un espace.

mf_db_specialchars_05

 

© 2018-2024 Altova GmbH