背景 :

背景 :

背景 :

如果您不感兴趣,可以跳过本节。

我通常sudo dd if=/dev/sdc1 of=~/Document/Cell\ Phone\ Files/MicroSD_Backup/$(date +%y-%m-%d).img用读卡器将 MicroSD 卡连接到电脑后,通过命令备份手机上的 MicroSD 卡。

我的 MicroSD 卡上只有一个分区,其文件系统是fat32.它的默认编码是GBK.因此,中文文件名采用 GBK 编码,而英文文件名采用 ASCII 编码。

当我制作完MicroSD卡的最新镜像后,我想对其进行格式化并删除最新镜像中的一些无用文件。

描述 :

img文件包含gbk文件名和ascii文件名的文件,而我的电脑默认编码是UTF-8。我想将这些 GBK 文件名转换为 UTF-8,但我担心那些具有 ASCII 文件名的文件convmv --notest -f gbk -t utf-8 *在镜像文件挂载目录中运行命令时会变成乱码。

问题 :

是否可以找到那些文件名为 gbk 的文件,并将它们的路径通过管道传递给命令convmv?因此,那些具有 ASCII 文件名的文件可以保留下来。

答案1

感谢@SiyuanRen 的建议。 convmv可以处理保持ascii不变的乱码情况,避免出现乱码。

在这种情况下命令convmv -f gbk -t utf8 *运行良好。

顺便说一句,另一种解决方案是-o loop,utf8在挂载图像文件时使用,或者只使用udisksctl它可以自动处理文件名编码。

PS整个使用方法udisksctl

# losetup --fine --show /path-to-img-file
$ udisksctl -b /the-loop-file-showed-after-former-command

然后,输入您的帐户密码,它会显示它安装在哪里/

相关内容