Je voudrais appeler un utilitaire de ligne de commande dans Mac OS X 10.8 qui me donne la possibilité de convertir un fichier texte enregistré en encodage romain Western Mac OS standard en UTF-8 plus générique.
J'appellerai l'utilitaire à partir d'un AppleScript que j'ai créé. AppleScript est extrêmement lent lorsque vous travaillez avec de très gros blocs de texte. En tant que tel, je veux faire mon analyse et conversion de texte en utilisant la ligne de commande OS X. J'ai trouvé un outil appelé "sed" qui me permet de faire l'analyse du texte. Cependant, il y a encore de nombreux éléments du fichier qui doivent être nettoyés, des caractères qui apparaissent comme des ordures si le fichier est ouvert en utf-8 (par exemple des guillemets intelligents et des ellipses).
Je pense que forcer une conversion d'encodage de texte peut aider à éliminer tous les caractères non utf8 du fichier. Cependant, je ne vois pas comment "sed" peut facilement convertir l'encodage de texte.
J'aurai déjà enregistré le fichier temp txt, en tant que MacRoman, sur le disque en utilisant les routines AppleScript intégrées.
Avez-vous des idées sur un outil de ligne de commande intégré qui peut convertir le codage de texte? Ligne de commande pour les performances et intégrée, car les autres utilisateurs de mon script n'auront pas nécessairement le jeu d'outils approprié s'il n'est pas intégré.
Merci de votre aide!
Réponses:
Une autre façon de convertir des caractères non ASCII en variantes ASCII consiste à utiliser
iconv -t ASCII//TRANSLIT
:ASCII//IGNORE
supprimerait les caractères non ASCII, mais vous pouvez également le faire avec par exempletr -dc '\0-\177'
.la source
iconv
de translittérer: ä → a "?ä
par justa
.iconv
est définitivement l'outil de choix ici:Exécutez
iconv --list
pour voir une liste de tous les encodages pris en charge.la source