Преобразовать (txt|srt) документ из Western(ISO-8859-15) в UTF-8

У меня проблемы с субтитрами на моем языке. Они закодированы как западные (ISO-8859-15), поэтому некоторые символы отображаются неправильно. Я устал заменять вручную, используя gedit и ctrl-h, а затем сохранять как UTF-8. Как автоматизировать этот процесс?

3 ответа

Решение

Ты можешь использовать iconv:

Если файл назван chapter1.srt, затем запустите:

iconv -f iso88591 -t utf8 chapter1.srt > outputfile.srt

и он создаст файл, хотя у него будет другое имя. Если вы переместите их в другой каталог, вы можете легко вернуть их обратно.

Кроме того, поскольку вы имеете дело с .srt файлы, вы действительно должны проверить pysrt. Он имеет много функций для управления субтитрами, например, время сдвига и изменения масштаба.

Установка:

sudo pip install pysrt

Преобразование в UTF-8 (он автоматически определяет кодировку входного файла, используя либо chardet или же charade)

srt -i --encoding 'utf-8' shift 0s mysubtitle.srt

Другой вариант

konwert Установить Konwert

konwert isolatin1-utf8 inputfile.srt > outputfile.srt

Помимо преобразования, konwert также может использоваться в качестве детектора кодирования:

konwert any/en-test inputfile.srt

Что здорово, чтобы получить кодировку входного файла, необходимую для преобразования, так как оба konwert а также iconv требует, чтобы в качестве аргумента. Однако вы должны предоставить языковой параметр: en в any/en-test означает английский

Он также имеет опцию для преобразования на месте, поэтому вам не нужно перемещать и переименовывать файлы впоследствии:

konwert isolatin1-utf8 -O inputfile.srt
Другие вопросы по тегам