下载的文件名总是「乱码」?教你把它一键变回中文 | 一日一技

有时候,我们从网上下载的文件,本来应是中文名称,但是下载后却是形如「%E9%AB%98%E9%A2%91」的字符串。本文介绍一种快捷方法,将文件名转换回中文。

这种情况往往是由于网站和浏览器之间存在兼容性问题导致的,我在使用 Firefox 下载网盘中的文件时就遇到过,这些形如「%E9%AB%98%E9%A2%91」的字符串实际上是文件名的 URL 编码。其实可以利用 Mac 自带的工具一键批量解决它。

这里,我使用 Automator 编写了一个文件服务,使用方法:

首先,下载「♲ 文件名 UrlDecode.workflow.zip」,解压后双击安装。

null

然后,右键单击需要处理的文件,选择服务子菜单中的 ♲ 文件名 UrlDecode,完毕。

这个服务不需要网络,支持批量处理多个文件或文件夹。

使用演示
使用演示

用 Automator 打开会发现其原理很简单,只有「运行 Shell 脚本」的操作,如图所示:

原理
原理

其中的 Shell 代码为:

# 调用 Python 内置模块进行解码
alias urldecode='python -c "import sys, urllib as ul; print ul.unquote_plus(sys.argv[1])"'

# 遍历选择的文件列表,进行重命名
for f in "$@"
do
    newName=$(urldecode "$f")
    mv "$f" "$newName"
done

关于 URL 编码,你可以看 这篇文章进一步了解。

比起用一些在线网站将这种编码转换回中文,然后再对文件进行重命名的方法,用 Mac 自带的 Automator 解决更加方便。

> 下载 少数派 iOS 客户端、关注 少数派公众号,让智能设备更好用 ⚡️