我有一个 RAR 档案,其文件名采用的是 GB2312 而不是 Unicode。因此,在我提取它之后,出现了许多“无效编码”警告。
据说官方实用程序可以解决这个问题,但我使用的是 Raspberry Pi,其处理器是 ARM。他们的只提供 x86 和 x64 版本官方网站。
那么,如何在基于 ARM 的机器上正常提取档案?
答案1
这些作业的标准 Unix 实用程序是iconv
和recode
。
基本上,unrar
将档案放入空目录中后,检查精确的使用以下命令设置字符集file
:
$ file -bi MyFileName
text/plain; charset=us-ascii
现在,您可以通过以下任一方式更改字符集
iconv -f gb2312 -t utf8 filename > newfilename
recode UTF-8 filename
注意:recode
对文件进行操作in place
,因此您可能需要在一些副本上尝试一下,然后再将其释放到真实数据上。
如果您还需要翻译文件名:
for i in *; do
newi=$(echo "$i" | iconv -f gb2312 -t utf-8)
mv "$i" "newi"
done
我不知道你是否可以使用它本身iconv
作为过滤器unrar
,例如
unrar YourArchive -p | iconv -f gb2312 -t utf-8 > somefile