首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将混合编码目录中的GBK转换为UTF-8?

问如何将混合编码目录中的GBK转换为UTF-8?
EN

Unix & Linux用户
提问于 2016-06-19 11:05:21
回答 1查看 3.7K关注 0票数 1

背景:

如果您对.

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

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

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

在我制作了MicroSD卡的最新图像后,我想格式化它并删除最新图像中的一些无用文件。

描述:

img文件包含带有gbk文件名和ascii文件名的文件,而我的PC的默认编码是UTF-8。我想把那些GBK文件名转换成UTF-8,但是我担心那些文件名会因在图像文件挂载目录中运行命令convmv --notest -f gbk -t utf-8 *而变得乱七八糟。

问题:

是否有可能用gbk文件名查找这些文件,并将其路径输送到convmv命令?所以,那些带有ASCII文件名的文件可以存活下来。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2016-06-19 12:03:36

感谢“四元任”S的建议。convmv可以处理混乱的局面,保持ascii不变,避免被混淆。

命令convmv -f gbk -t utf8 *在这种情况下工作正常。

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

P.S.使用udisksctl的全部方法是

代码语言:javascript
复制
# losetup --fine --show /path-to-img-file
$ udisksctl -b /the-loop-file-showed-after-former-command

然后,输入您的帐户密码,它将显示它的挂载位置/

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/290713

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档