Me gustaría llamar a una utilidad de línea de comandos en Mac OS X 10.8 que me da la capacidad de convertir un archivo de texto guardado en la codificación romana estándar de Western Mac OS 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 comando OS X. Encontré una herramienta llamada "sed", que me permite analizar el 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 y puntos suspensivos).
Estoy pensando que forzar una conversión de codificación de texto puede ayudar a eliminar todos los caracteres no 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 txt temporal, 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 y la función integrada, ya que otros usuarios de mi script no necesariamente tendrán el conjunto de herramientas adecuado si no está integrado.
¡Gracias por tu ayuda!
Respuestas:
Otra forma de convertir caracteres no ASCII a variantes ASCII es usar
iconv -t ASCII//TRANSLIT
:ASCII//IGNORE
eliminaría caracteres no ASCII, pero también puede hacerlo con, por ejemplotr -dc '\0-\177'
.fuente
iconv
transcribir: ä → a "?ä
por justa
.iconv
es definitivamente la herramienta de elección aquí:Ejecute
iconv --list
para ver una lista de todas las codificaciones compatibles.fuente