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

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

2
задан 22 October 2013 в 23:25

3 ответа

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

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

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

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

0
ответ дан 22 October 2013 в 23:25

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

Установка:

sudo pip install pysrt

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

srt -i --encoding 'utf-8' shift 0s mysubtitle.srt
0
ответ дан 22 October 2013 в 23:25

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

konwert Install 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
0
ответ дан 22 October 2013 в 23:25

Другие вопросы по тегам:

Похожие вопросы: