Преобразовать (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 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