Esiste un'applicazione per la riga di comando di Mac OS X in grado di convertire codifiche di testo da un tipo all'altro? (In particolare per convertire Mac OS Roman in utf8)

15

Vorrei richiamare un'utilità della riga di comando in Mac OS X 10.8 che mi consente di convertire un file di testo salvato nella codifica occidentale standard di Mac OS per Mac con il più generico UTF-8.

Chiamerò l'utilità da un AppleScript che ho creato. AppleScript è estremamente lento quando si lavora con blocchi di testo molto grandi. In quanto tale, voglio eseguire l'analisi e la conversione del testo utilizzando la riga di comando di OS X. Ho trovato uno strumento chiamato "sed", che mi permette di fare l'analisi del testo. Tuttavia, ci sono ancora molti elementi del file che devono essere ripuliti, caratteri che appaiono come garbage se il file è aperto come utf-8 (ad esempio virgolette ed ellissi).

Penso che forzare una conversione della codifica del testo possa aiutare a eliminare tutti i caratteri non utf8 nel file. Tuttavia, non riesco a vedere come "sed" possa facilmente convertire la codifica del testo.

Avrò già salvato il file temp txt, come MacRoman, su disco usando le routine AppleScript incorporate.

Qualcuno di voi ha qualche idea su uno strumento da riga di comando incorporato in grado di convertire la codifica del testo? Riga di comando per le prestazioni e built-in, poiché altri utenti del mio script non avranno necessariamente il set di strumenti appropriato se non è integrato.

Grazie per il tuo aiuto!

    
posta Darkstar 10.02.2013 - 03:07
fonte

2 risposte

8

Un altro modo per convertire caratteri non ASCII in varianti ASCII è usare iconv -t ASCII//TRANSLIT :

$ echo ‘’“”–—…äé | iconv -t ASCII//TRANSLIT
''""--..."a'e

ASCII//IGNORE rimuove i caratteri non ASCII, ma puoi farlo anche con tr -dc '%code%-7' .

    
risposta data 11.11.2013 - 18:13
fonte
26

iconv è definitivamente lo strumento di scelta qui:

iconv -f MACROMAN -t UTF-8 your-roman-encoded-file.txt > utf-8-encoded-file.txt

Esegui iconv --list per visualizzare un elenco di tutte le codifiche supportate.

    
risposta data 10.02.2013 - 17:46
fonte

Leggi altre domande sui tag