Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我需要删除现有字幕文本文件中的特定unicode_Unicode_Srt - Fatal编程技术网

我需要删除现有字幕文本文件中的特定unicode

我需要删除现有字幕文本文件中的特定unicode,unicode,srt,Unicode,Srt,我基本上是在制作字幕,我有这个阿拉伯文件,当我在记事本上打开它,右键单击并选择ShowUnicode控制字符时,我在每一行的左边都会出现一些奇怪的字符。我尝试了很多方法来删除它,但都失败了。我也尝试了NOTEPAD++但失败了 记事本++ 字幕编辑 擅长 话 288 00:24:41,960 --> 00:24:43,840 ‫أتعلم، قللنا من شأنك فعلاً‬ 289 00:24:44,000 --> 00:24:47,120 ‫كان علينا تجنيدك لتكون

我基本上是在制作字幕,我有这个阿拉伯文件,当我在记事本上打开它,右键单击并选择ShowUnicode控制字符时,我在每一行的左边都会出现一些奇怪的字符。我尝试了很多方法来删除它,但都失败了。我也尝试了NOTEPAD++但失败了

记事本++ 字幕编辑 擅长 话

288 00:24:41,960 --> 00:24:43,840 ‫أتعلم، قللنا من شأنك فعلاً‬

289 00:24:44,000 --> 00:24:47,120 ‫كان علينا تجنيدك لتكون جاسوساً‬ ‫مكان (كاي سي)‬

290 00:24:47,280 --> 00:24:51,520 ‫لا تعلمون كم أنا سعيد‬ ‫لسماع ذلك‬

291 00:24:54,800 --> 00:24:58,160 ‫لا تقلق، سيستيقظ نشيطاً غداً‬

292 00:24:58,320 --> 00:25:00,800 ‫ولن يتذكر ما حصل‬ ‫في الساعات الـ٦‬

unicode没有显示在这里,unicode是U+202B,它显示一个¨符号,在谷歌上搜索后,我认为它被称为PILCROW

问题是它不能在ps4应用程序上正确显示字幕


我需要这个皮尔克罗标志离开。有了这个网站,我可以在这个文件中看到问题

PILCROW
¨
被各种软件和出版商用来显示文档中的行尾。您的文件中不存在实际的Unicode字符,因此您无法删除它。

各种软件和发行商使用PILCROW
^。文件中不存在实际的Unicode字符,因此无法删除它。

这些行中的Unicode字符是“从右到左嵌入的” (代码\u202b)和“弹出方向格式化”(代码\u202c)—— 这些在文本中用于指示应呈现包含的文本 从右向左,而不是从左向右

现在,这些字符作为提示包含在显示文本的应用程序中,而不是实际执行文本反转-因此它们可能可以在不影响文本显示本身的情况下被删除

现在,这是一个编程问答网站,但您没有指出您熟悉的任何编程语言-至少足以运行一个程序。所以很难知道如何给出一个适合你的答案

Python可以用来创建一个小程序来从文件中过滤这些字符,但是我不愿意编写一个完整的GUI程序,或者一个可以在那里运行的web应用程序,作为这里的答案

另一件事是,一个可以从命令行中过滤出几个字符的程序——因为它只是几行代码

您必须将下面的列表存储为一个名为“fixsubtitles.py”的文件,并使用终端(“cmd”,如果您在Windows上)键入
python3 fixsubtitles.py\path\to\subtitle file.txt
,然后按enter键

当然,在从安装Python3运行时之后 (如果您在已预装的Mac或Linux上)

导入系统 从pathlib导入路径 encoding=“utf-8” 删除\u set=str.maketrans(“\u202b\u202c”) 如果len(sys.argv<2): 打印(“用法:python3 fixsubtitles.py[filename]”,file=sys.stderr) 出口(1) 路径=路径(sys.argv[1]) 数据=路径。读取文本(编码=编码) path.write_text(data.translate(“,”,remove_set),encoding=encoding) 打印(“完成”)

您可能需要调整编码-因为Windows并不总是使用utf-8(文件可能位于,例如“cp1256”-如果您在运行程序时遇到unicode错误,请尝试使用它代替“utf-8”),也许可以在要删除的字符集中添加更多字符-问题中链接的工具应该会显示其他此类字符(如果有的话)。除此之外,上面的程序应该可以运行

这些行中的Unicode字符是“从右到左嵌入的” (代码\u202b)和“弹出方向格式化”(代码\u202c)—— 这些在文本中用于指示应呈现包含的文本 从右向左,而不是从左向右

现在,这些字符作为提示包含在显示文本的应用程序中,而不是实际执行文本反转-因此它们可能可以在不影响文本显示本身的情况下被删除

现在,这是一个编程问答网站,但您没有指出您熟悉的任何编程语言-至少足以运行一个程序。所以很难知道如何给出一个适合你的答案

Python可以用来创建一个小程序来从文件中过滤这些字符,但是我不愿意编写一个完整的GUI程序,或者一个可以在那里运行的web应用程序,作为这里的答案

另一件事是,一个可以从命令行中过滤出几个字符的程序——因为它只是几行代码

您必须将下面的列表存储为一个名为“fixsubtitles.py”的文件,并使用终端(“cmd”,如果您在Windows上)键入
python3 fixsubtitles.py\path\to\subtitle file.txt
,然后按enter键

当然,在从安装Python3运行时之后 (如果您在已预装的Mac或Linux上)

导入系统 从pathlib导入路径 encoding=“utf-8” 删除\u set=str.maketrans(“\u202b\u202c”) 如果len(sys.argv<2): 打印(“用法:python3 fixsubtitles.py[filename]”,file=sys.stderr) 出口(1) 路径=路径(sys.argv[1]) 数据=路径。读取文本(编码=编码) path.write_text(data.translate(“,”,remove_set),encoding=encoding) 打印(“完成”) 您可能需要调整编码-因为Windows并不总是使用utf-8(文件可能位于,例如“cp1256”-如果您在运行程序时遇到unicode错误,请尝试使用此代码代替“utf-8”),并且可能会向要删除的字符集添加更多字符-t
import sys
from pathlib import Path
encoding = "utf-8"
remove_set = str.maketrans("\u202b\u202c")
if len(sys.argv < 2):
    print("Usage: python3 fixsubtitles.py [filename]", file=sys.stderr)
    exit(1)
path = Path(sys.argv[1])
data = path.read_text(encoding=encoding)
path.write_text(data.translate("", "", remove_set), encoding=encoding)
print("Done")