import glob,base64,binascii,re,locale,string,os
def utf8codechg(ch):
v = chr(string.atoi(ch.group()[1:3],16))+chr(string.atoi(ch.group()[4:6],16))+chr(string.atoi(ch.group()[7:9],16))
return unicode(v,"utf-8")
def codechg(ch):
v = chr(string.atoi(ch.group()[1:3],16))
return v
p_utf8 = re.compile(r"%[0-9A-F][0-9A-F]%[0-9A-F][0-9A-F]%[0-9A-F][0-9A-F]")
p_asc = re.compile(r"%[0-9A-F][0-9A-F]")
for f in glob.glob("*"):
print f,"===>",
res = p_utf8.sub(utf8codechg, f)
res = p_asc.sub(codechg, res)
print res
if f==res:continue
os.rename(f,res)
修正下载时错乱文件名小工具
最新推荐文章于 2025-10-02 02:00:27 发布
本文介绍了一段Python脚本,该脚本用于将文件中的十六进制编码转换为对应的UTF-8字符,并实现文件名的更改。通过正则表达式匹配特定格式的十六进制字符串,并使用内置函数进行转换。
1万+

被折叠的 条评论
为什么被折叠?



