zip在linux上解压出错Unicode编码-解决

unzip xxx.zip

中文名称变为:

#U6570#U503c#U7a33#U5b9a#U6027.md

解决方式:

在解压后的目录下执行脚本:

python 复制代码
python3 - << 'EOF'
import os, re

pat = re.compile(r'#U([0-9a-fA-F]{4})')

def unescape(name: str) -> str:
    return pat.sub(lambda m: chr(int(m.group(1), 16)), name)

changed = 0
for root, dirs, files in os.walk('.', topdown=False):
    for name in dirs + files:
        new = unescape(name)
        if new != name:
            src = os.path.join(root, name)
            dst = os.path.join(root, new)
            os.rename(src, dst)
            print(f"{src} -> {dst}")
            changed += 1

print(f"\nDone. Renamed {changed} items.")
EOF

执行完毕显示正常!

./notes/11-#U6a21#U578b#U9009#U62e9+#U8fc7#U62df#U5408#U548c#U6b20#U62df#U5408.md -> ./notes/11-模型选择+过拟合和欠拟合.md

Done. Renamed 98 items.

相关推荐
AI视觉网奇2 小时前
audio2face 实时驱动 2026笔记
开发语言·python
济6172 小时前
linux 系统移植(第四期)--Uboot移植(4)--在U-Boot 中添加自己的开发板(3) -网络驱动修改-- Ubuntu20.04
linux·运维·服务器
至此流年莫相忘2 小时前
正则表达式之捕获分组——Python篇
python·正则表达式
战族狼魂2 小时前
Python 完整实现 BCrypt GUI 工具
java·前端·python
2301_765715142 小时前
Linux虚拟机NAT模式网络故障解析与修复指南
linux·运维·服务器
焦糖布丁的午夜2 小时前
数据库大王mysql---linux
linux·数据库·mysql
OpsEye2 小时前
监控 100 问(四):如何实现 IT 监控自动化
运维·网络·it运维·it·监控·监控系统
小二·2 小时前
Python Web 开发进阶实战:国际化(i18n)与多语言支持 —— Vue I18n + Flask-Babel 全栈解决方案
前端·vue.js·python
小二·2 小时前
Python Web 开发进阶实战:API 安全与 JWT 认证 —— 构建企业级 RESTful 接口
前端·python·安全