讲的是Windows系统
想排除不可打印字符、16进制
但中文、日文、全角、合法符号都能保留
违法字这边无法贴 因为ptt也贴不上来...
补个违法字样本: http://i.imgur.com/c9SvoRY.jpg
最后面那串箭头符号 网页显示
有试过了一些方法
sys.getfilesystemencoding() # 系统默认编码
str.maketrans('', '', '\/*?:"<>|') # 排除微软默认不合法字符
# 只接受ASCII可显示字
valid_chars = "-_.() %s%s" % (string.printable, string.ascii_letters)
filename = ''.join(c for c in targetString if c in valid_chars)
其他16进制排除的方法也试过 没效 估计该违法字其实不是16进制字符
没梗了 能推荐好用的方法吗?
语言版本: python 3以上