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

标签 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 ,但没有运气。

谢谢,莫娜

最佳答案

vim :

加载文件后,不要做任何修改。那么你可以这样做:

:e ++enc=cp1256

要保存在 utf-8 中,只需
:w ++enc=utf-8

或者你可以在 中完成 shell :
iconv -cf WINDOWS-1256 -t utf-8 problem.srt -o correct.srt

关于shell - 如何使用 Vim 更改现有文件的编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15681681/

相关文章:

vim - 选择包含破折号的整个单词

vim - vim中自己的简单模板系统——include文件

java - 如何对密文进行编码

netbeans - 如何更改 NetBeans 8.0 中的默认编码

linux - 从文件中grep两个字符串并写入txt

C 程序返回码和 && bash 符号?

c - 隐藏 shell 中打印的回溯

vim - 如何在vim中的选项卡标签中显示选项卡中的拆分数量?

php - 如何使用 Shift-JIS 和 CP932 创建 SQL 注入(inject)攻击?

linux - 使用 grep 和 awk 过滤 ping 结果完全不起作用