Python - 修复使用错误编码保存的波斯文本文件
Python - fix Persian text file saved with wrong encoding
有很多波斯语的字幕编码错误。视频播放器中有一些选项可以正确修复和显示此文件,但只有一个 windows 软件可以实际修复文件并使用正确的编码保存它。我想在 python 中执行此操作。我尝试了很多事情,但无法完成。记事本说文件在 ANSI 中,所以我在 python 中将其打开为 'Latin-1' 并尝试将其解码并编码为 UTF-8,但它给了我原始文件。文件可以从 https://ufile.io/np0rodjg
also, fixed file with mentioned software can be downloaded from https://ufile.io/ignop48m 下载
如何使用 python?
可能文件是用 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)
有很多波斯语的字幕编码错误。视频播放器中有一些选项可以正确修复和显示此文件,但只有一个 windows 软件可以实际修复文件并使用正确的编码保存它。我想在 python 中执行此操作。我尝试了很多事情,但无法完成。记事本说文件在 ANSI 中,所以我在 python 中将其打开为 'Latin-1' 并尝试将其解码并编码为 UTF-8,但它给了我原始文件。文件可以从 https://ufile.io/np0rodjg
also, fixed file with mentioned software can be downloaded from https://ufile.io/ignop48m 下载
如何使用 python?
可能文件是用 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)