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 a la UTF-8 más genérica.
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 tipográficas 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 txt temporal, como MacRoman, en el disco utilizando las rutinas integradas de AppleScript.
Requisitos:
¿Alguno de ustedes tiene alguna idea sobre una herramienta de línea de comandos integrada que pueda convertir la codificación de texto o un paquete existente que sea superior para esta tarea?
Otra forma de convertir caracteres no ASCII a variantes ASCII es usar 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, por ejemplo, con tr -dc '\0-\177'
.
iconv
transliterar: ä → a" ?ä
solo con a
.iconv
es definitivamente la herramienta de elección 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 admitidas.
Estrella negra
Estrella negra
tom gewecke
Estrella negra
tom gewecke
dan