2012-01-16 3 views
0

Я должен удалить символы Unicode из многих файлов (много файлов cpp!), И я ищу скрипт или что-то, чтобы удалить этот unicode. файлы находятся во многих папках!Как конвертировать unicode в ASCII?

+2

Что вы подразумеваете под "удалить"? Буквально просто удалите их и оставьте содержание бессмысленным? Или попытайтесь, например, заменить символы типа é на e? –

+5

@DavidM: 'e' также является символом Юникода. –

+2

@ Kerrek SB - да, я знаю - но мы оба знаем, что он имеет в виду ... –

ответ

4

Если у вас это есть, вы должны иметь возможность использовать iconv (инструмент командной строки, а не функция C). Что-то вроде этого:

$ for a in $(find . -name '*.cpp') ; do iconv -f utf-8 -t ascii -c "$a" > "$a.ascii" ; done 

-c вариант iconv заставляет его отказаться от символов не может преобразовать. Тогда вы бы проверить результат, и снова идти за ними, переименование «.ascii» файлы на равнинных имена файлов, перезапись входных файлов в кодировке Unicode:

$ for a in $(find . -name '*.ascii') ; do mv $a $(basename $a .ascii) ; done 

Обратите внимание, что обе эти команды непроверенной; проверьте, добавив echo после do в каждом, чтобы убедиться, что они кажутся нормальными.

+0

У вас есть anythting, который будет работать на mac os x? – kasavbere

0

Открыть файл srt в Gaupol, нажать на файл, нажать «Сохранить как», «Удалить меню» для кодировки символов, выбрать UTF-8, сохранить файл.

Смежные вопросы