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.

相关推荐
姜鱼问生4 小时前
Nginx 缓存命中率监控:从 X-Cache-Status 到实时统计
运维·nginx·缓存
Apipi*4 小时前
30天速通Linux 第六章信号及信号处理
linux·运维·信号处理
天启HTTP5 小时前
爬虫防封核心原理:IP轮换机制与风控规避逻辑
linux·服务器·网络·爬虫·tcp/ip
运维行者_6 小时前
网络性能监控怎么做?从自动发现到根因分析的4个环节
运维·服务器·网络·人工智能·支持向量机
此时不提桶,更待何时6 小时前
06-14-A-Kafka集群运维与迁移实战详解
运维·kafka
全栈练习生7 小时前
AI Agent 沙箱
python·ai
广州浮点FLOATLIC8 小时前
许可证服务器迁移后软件打不开:研发 IT 怎样定位连接问题
linux·服务器·数据库
IT研究所8 小时前
AI-ITR平台如何减少客户问题反复升级?
大数据·运维·人工智能·低代码·自然语言处理·安全架构·企微
BLUcoding8 小时前
接口服务公网超时排查记录:SecureRandom 阻塞问题分析与解决
java·linux·springboot·aes·securerandom
AIgorithmGEEK8 小时前
[Linux]从手写报头到内核套路:序列化、反序列化与自定义协议全链路
linux·运维·服务器·网络·序列化·反序列化