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é dans l'encodage standard Western Mac OS Roman en UTF-8, plus générique.
Je vais appeler l'utilitaire à partir d'un AppleScript que j'ai créé. AppleScript est extrêmement lent lorsqu'il travaille avec de très grands blocs de texte. C'est pourquoi je veux faire mon analyse et ma conversion de texte en utilisant la ligne de commande de l'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 déchets si le fichier est ouvert en utf-8 (par exemple, les guillemets intelligents et les ellipses).
Je pense que le fait de forcer une conversion de l'encodage du texte peut aider à éliminer tous les caractères non-utf8 dans le fichier. Cependant, je ne vois pas comment "sed" peut facilement convertir l'encodage du texte.
J'aurai déjà enregistré le fichier txt temporaire, en tant que MacRoman, sur le disque en utilisant les routines AppleScript intégrées.
Exigences :
- Ligne de commande pour la performance
- Préférer les outils natifs car les autres utilisateurs de mon script ne disposeront pas nécessairement du jeu d'outils approprié s'il n'est pas intégré. (Bien que je puisse ajouter une vérification à mon script et abandonner si un outil nécessaire n'est pas présent).
Est-ce que l'un d'entre vous a une idée d'un outil en ligne de commande intégré qui peut convertir l'encodage du texte ou d'un paquetage existant qui est supérieur pour cette tâche ?
0 votes
@bmargulies : En fait, ce que j'essaie vraiment d'obtenir, c'est un moyen de convertir automatiquement les caractères fantaisistes, comme les ellipses et les guillemets intelligents en guillemets, apostrophes et points ASCII "réels", "purs". Est-ce que iconv peut le faire ? Ou dois-je convertir manuellement les fichiers ?
0 votes
@TomGewecke : En fait la source n'était pas MacRoman, c'était "iso-8859-1". Cependant, l'utilisation d'iconv n'a pas remplacé gracieusement (et automatiquement) les guillemets fantaisistes et les points de suspension par des guillemets et des points ASCII standard.
1 votes
Y a-t-il une raison pour laquelle vous devez avoir l'ascii plutôt que l'utf-8 que vous aviez demandé à l'origine ? Il n'y a bien sûr pas d'équivalent ascii de nombreux caractères en MacRoman ou ISO Latin 1, donc je ne pense pas que vous puissiez faire ce que vous voulez avec ce genre d'utilitaire. Une recherche/remplacement est probablement nécessaire.
0 votes
@TomGewecke : La raison pour laquelle j'essaie de simplifier les choses est que les fichiers CSV que mon AppleScript crée ont un aspect laid dans Excel en raison de la présence de ces caractères non ASCII. Microsoft Excel (à la fois sous Windows et sous Mac) est le seul programme qui a des problèmes avec l'importation des fichiers CSV qui sont codés en iso-8859-1.
1 votes
Excel ne devrait pas avoir ce problème, vous devriez être en mesure de définir l'encodage pour les importations comme vous le souhaitez, voir par exemple superuser.com/questions/280603/
0 votes
Darkstar : pour les soins intensifs, site.icu-project.org .