Préserver la source avant toute conversion
Ce workflow prépare un texte pour un autre usage ; il ne remplace pas silencieusement la source de référence. Conservez l'original et un échantillon montrant le problème : caractères illisibles, ponctuation pleine largeur, dates mélangées, symboles monétaires ou séquences MIME. Définissez le jeu de caractères, la largeur, la locale et le format de sortie attendus.
Corriger d'abord les couches de représentation
Pour un texte de transfert d'e-mail, utilisez quoted-printable-decoder avant d'interpréter les caractères. Si les octets du fichier utilisent un autre jeu de caractères, enchaînez avec file-encoding-converter et conservez l'intermédiaire. Les étapes suivantes ne confondront ainsi pas des échappements ou du texte illisible avec le contenu réel.
Choisissez une direction avec fullwidth-to-halfwidth ou halfwidth-to-fullwidth. La première convient souvent aux identifiants et champs ASCII, la seconde à une convention de composition CJK. Vérifiez aussi la ponctuation et les chiffres.
Normaliser sélectivement le contenu porteur de sens
Quand la représentation est stable, utilisez text-date-format-unifier pour un format de date défini et text-currency-normalizer pour des montants dont le code et la règle sont connus. Gardez la valeur précédente et notez la modification : normaliser une chaîne monétaire ne constitue pas une validation financière.
Terminez par la branche adaptée au destinataire. advanced-case-converter traite les conventions de nommage, number-to-words la prose et word-separator les listes ligne par ligne. Si la cible est MIME, appliquez quoted-printable-encoder après toutes les modifications. Contrôlez caractères, dates, montants, retours à la ligne et format final avant livraison.