Encoding 恢复的文件';s文件名
嗨,我最近在服务器崩溃后恢复了我站点的文件。 我有一个wordpress网站,上面有太多用波斯语/阿拉伯语文件名上传的图像文件。 问题是恢复后文件名被重命名。 这些名字太奇怪了。我无法识别特定的编码以便还原原始名称。它看起来确实像妖术,但它不是!你能帮我吗 以下是一个恢复的文件名示例: #U06a9#U0627#U0646#U06a9#U0633#U0633#U0627#U0646#U062f#U0648#U06cc#U0686#U067e#U0646#U0644-150x103.jpgEncoding 恢复的文件';s文件名,encoding,filenames,arabic,persian,data-recovery,Encoding,Filenames,Arabic,Persian,Data Recovery,嗨,我最近在服务器崩溃后恢复了我站点的文件。 我有一个wordpress网站,上面有太多用波斯语/阿拉伯语文件名上传的图像文件。 问题是恢复后文件名被重命名。 这些名字太奇怪了。我无法识别特定的编码以便还原原始名称。它看起来确实像妖术,但它不是!你能帮我吗 以下是一个恢复的文件名示例: #U06a9#U0627#U0646#U06a9#U0633#U0633#U0627#U0646#U062f#U0648#U06cc#U0686#U067e#U0646#U0644-150x103.jpg 谢谢。
谢谢。文件名看起来像Unicode字符的id。让我们看看第一个角色 U06a9
- U:Unicode字符
- 06a9:字符的Id(十六进制)
import sys
obf = sys.argv[1]
name = obf.split("-")[0]
recovered = ""
working = ""
for c in name:
if c == 'U':
working = "\u"
continue
working += c
if len(working) == 6:
recovered += working.decode("unicode-escape")
print recovered + obf.split(".")[len(obf.split(".")) - 1]
用法示例:
python recover.py U06a9#U0627#U0646#U06a9#U0633-#U0633#U0627#U0646#U062f#U0648#U06cc#U0686-#U067e#U0646#U0644-150x103.jpg
注意:输入不能以哈希开头。谢谢。就这样!现在我必须找到一种方法来批量重命名它们。让我们试试一些应用程序。你应该能够使用我创建的这个python程序加上一个bash脚本来批量修复它们。