如何使用Vim更改现有文件的编码

时间:2013-03-28 12:21:16

标签: shell vim encoding character-encoding batch-file

这是http://subscene.com/subtitles/crank/farsi_persian/281992上的字幕文件。如果你下载它,你会看到一些代码,如:

1
00:02:05,360 --> 00:02:07,430
åßÊæÑ¡ ãÇ åäæÒ ÏÇÑíã ãí ÑÎíã¿
ÎæÈå

2
00:02:07,600 --> 00:02:10,956
áíæÓ! ãÇ ÏÇÑíã í ÇÑ ãíäíã Èå ¿
æ Ïíå åí æÞÊ ãä Ñæ ÕÏÇ äãíÒäí

我期待的是:

1
00:02:05,360 --> 00:02:07,430
هكتور، ما هنوز داريم مي چرخيم؟
خوبه

2
00:02:07,600 --> 00:02:10,956
چليوس! ما داريم چي کار ميکنيم بچه ؟
و ديگه هيچ وقت من رو صدا نميزني

我通过将文件扩展名从srt更改为txt,使用chrome浏览器打开它,将编码转换为阿拉伯语窗口并通过选择所有文本重新保存文件内容来达到它。

我不知道如何使用vim或shell脚本执行此操作。我尝试了:write ++enc=utf-8 russian.txtset encodingset fileencoding,但没有运气。

谢谢,mona

1 个答案:

答案 0 :(得分:6)

vim

加载文件后,请勿进行任何修改。然后你可以这样做:

:e ++enc=cp1256

要保存在utf-8中,只需

:w ++enc=utf-8

或者您可以在 shell

中执行此操作
iconv -cf WINDOWS-1256 -t utf-8 problem.srt -o correct.srt