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