Я хотел бы вызвать утилиту командной строки в Mac OS X 10.8, которая дает мне возможность преобразовать текстовый файл, сохраненный в стандартной западной кодировке Mac OS Roman, в более общую UTF-8.
Я буду вызывать утилиту из созданного мной AppleScript. AppleScript очень медленный при работе с очень большими текстовыми блоками. Таким образом, я хочу выполнять синтаксический анализ и преобразование текста с помощью командной строки OS X. Я нашел инструмент под названием «sed», который позволяет мне анализировать текст. Тем не менее, есть еще много элементов файла, которые необходимо очистить, символы, которые выглядят как мусор, если файл открыт как utf-8 (например, умные кавычки и многоточие).
Я думаю, что принудительное преобразование кодировки текста может помочь удалить все символы, отличные от utf8, в файле. Однако я не понимаю, как «sed» может легко преобразовать кодировку текста.
Я уже сохранил временный текстовый файл под именем MacRoman на диск с помощью встроенных подпрограмм AppleScript.
Требования:
Есть ли у кого-нибудь из вас какие-либо идеи относительно встроенного инструмента командной строки, который может преобразовать кодировку текста, или существующего пакета, который лучше подходит для этой задачи?
Другой способ преобразовать символы, отличные от ASCII, в варианты ASCII — использовать iconv -t ASCII//TRANSLIT
:
$ echo ‘’“”–—…äé | iconv -t ASCII//TRANSLIT
''""--..."a'e
ASCII//IGNORE
удалит символы, отличные от ASCII, но вы также можете сделать это, например, с помощью tr -dc '\0-\177'
.
iconv
транслитерировать: ä → a" ?ä
просто на a
.iconv
определенно является инструментом выбора здесь:
iconv -f MACROMAN -t UTF-8 your-roman-encoded-file.txt > utf-8-encoded-file.txt
Запустите iconv --list
, чтобы увидеть список всех поддерживаемых кодировок.
Темная звезда
Темная звезда
Том Гевеке
Темная звезда
Том Гевеке
Дэн