¿Existe una aplicación de línea de comandos de Mac OS X que pueda convertir codificaciones de texto de un tipo a otro? (Específicamente para convertir Mac OS Roman a utf8)

14

Me gustaría llamar a una utilidad de línea de comandos en Mac OS X 10.8 que me da la posibilidad de convertir un archivo de texto guardado en codificación estándar de Western Mac OS Roman al UTF-8 más genérico.

Llamaré a la utilidad desde un AppleScript que he creado. AppleScript es extremadamente lento cuando se trabaja con bloques de texto muy grandes. Como tal, quiero hacer mi análisis y conversión de texto usando la línea de comandos de OS X. He encontrado una herramienta llamada, "sed", que me permite hacer el análisis del texto. Sin embargo, todavía hay muchos elementos del archivo que deben limpiarse, caracteres que aparecen como basura si el archivo se abre como utf-8 (por ejemplo, comillas inteligentes y puntos suspensivos).

Estoy pensando que forzar una conversión de codificación de texto puede ayudar a eliminar todos los caracteres que no sean utf8 en el archivo. Sin embargo, no puedo ver cómo "sed" puede convertir fácilmente la codificación de texto.

Ya habré guardado el archivo temp txt, como MacRoman, en el disco usando las rutinas integradas de AppleScript.

¿Alguno de ustedes tiene alguna idea sobre una herramienta de línea de comandos integrada que pueda convertir la codificación de texto? Línea de comandos para el rendimiento e incorporado, ya que otros usuarios de mi script no necesariamente tendrán el conjunto de herramientas adecuado si no está integrado.

¡Gracias por tu ayuda!

    
pregunta Darkstar 10.02.2013 - 03:07

2 respuestas

8

Otra forma de convertir caracteres no ASCII a variantes ASCII es utilizar iconv -t ASCII//TRANSLIT :

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

ASCII//IGNORE eliminaría los caracteres que no son ASCII, pero también puede hacerlo con, por ejemplo, tr -dc '%code%-7' .

    
respondido por el user495470 11.11.2013 - 18:13
25

iconv es definitivamente la herramienta elegida aquí:

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

Ejecute iconv --list para ver una lista de todas las codificaciones compatibles.

    
respondido por el nohillside 10.02.2013 - 17:46

Lea otras preguntas en las etiquetas