恢复文件的文件名

时间:2014-07-31 07:07:37

标签: encoding filenames arabic persian data-recovery

您好我最近在服务器崩溃后恢复了我的网站文件。 我有一个wordpress网站有太多上传的图像文件与波斯语/阿拉伯文件名。 问题是恢复后重命名文件名。 这些名字太奇怪了。我无法识别特定的编码,因此我可以恢复原始名称。它确实看起来像Hex,但它不是!你能救我吗?

以下是恢复文件名的示例:

  

#U06a9#U0627#U0646#U06a9#U0633-#U0633#U0627#U0646#U062f#U0648#U06cc#U0686-#U067e#U0646#U0644-150x103.jpg

感谢。

1 个答案:

答案 0 :(得分:0)

文件名看起来像Unicode字符的id。让我们来看看第一个角色。

<强> U06a9

  • U:Unicode字符。
  • 06a9:字符ID(十六进制。)

在这种格式中,字母a将是U0061

这是一个将该名称转换为原始名称的python脚本。

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

注意输入不能以井号开头。