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.

相关推荐
Nontee几秒前
Quartz 集群 + 策略模式:逾期预警推送系统设计实录
linux·服务器·策略模式
工业HMI实战笔记4 分钟前
【拯救HMI】:工业自动化交互革命:HMI 触摸屏如何成为产线智能中枢
运维·自动化·交互
张人玉4 分钟前
茶树 NeRF(Neural Radiance Fields,神经辐射场)三维重建与数据分析可视化系统——基于神经辐射场的茶树三维重建方法实现可视化大屏
python·数据挖掘·数据分析·echarts·three.js
脉动数据行情17 分钟前
Python WebSocket 国内商品期货|螺纹钢 & 铁矿石实时行情监听
开发语言·python·websocket
NJCloud7 分钟前
Openstack(一)——基础环境配置与依赖服务安装
linux·架构·openstack
额额额对了19 分钟前
Linux C 多线程编程基础:从内存模型到生命周期管理
linux·开发语言·算法
mengge.cloud25 分钟前
Linux小白入门教程(基础命令篇)
linux·运维·服务器
circuitsosk30 分钟前
智能体任务拆解与执行:基于ReAct+Plan-and-Execute框架的行业Skill构建实录
前端·javascript·python·react.js·react·llm agent·智能体编排
麻雀飞吧31 分钟前
近期量化工具怎么选,先看你卡在哪一环
人工智能·python