Py学习  »  Python

Python-修复用错误编码保存的波斯语文本文件

ramtin arefkia • 3 年前 • 1184 次点击  

有很多波斯语字幕是用错误的编码保存的。视频播放器中有一些选项可以修复&正确显示这些文件,但实际上只有一个windows软件可以修复该文件&用正确的编码保存它。我想用python来做这件事。我尝试过很多事情,但都没能成功。记事本上说文件是ANSI格式的,所以我用python&试图解码&将其编码为UTF-8,但它会提供原始文件。文件可以从 https://ufile.io/np0rodjg
此外,还可以从以下网站下载带有上述软件的固定文件: https://ufile.io/ignop48m
如何使用python实现这一点?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/130407
 
1184 次点击  
文章 [ 1 ]  |  最新文章 3 年前
Anon Coward
Reply   •   1 楼
Anon Coward    4 年前

文件可能是用cp1256编码的,也就是Windows-1256,Windows中用于波斯语和乌尔都语的代码页。要创建该文件的UTF-8版本,只需在该代码页中读取该文件,然后用UTF-8写出:

with open("source.srt", "rt", encoding="cp1256") as f:
    data = f.read()

with open("fixed.srt", "wt", encoding="utf_8_sig") as f:
    f.write(data)