如何正确获取带中文的 fat32 U 盘卷标?

发布于 2022-08-28 00:26:47 字数 634 浏览 32 评论 0

对于 ubuntu 系统,插入一个在 windows 下命名为 “usb 磁盘”的 fat32 U 盘,执行:

ls /dev/disk/by-label

对应的 U 盘 label 显示为 “USB\x20\xb4\xc5\xc5\xcc”。usb 变为了大写,空格变为了 \x20,后面的 \xb4\xc5\xc5\xcc 不知是什么编码。

对于在搭载 angstrom beaglebone 的开发板上,我使用 udev 规则进行自动挂载:

IMPORT{program}="/sbin/blkid -o udev -p %N"
ENV{ID_FS_LABEL}!="", ENV{mount_point}="/media/%E{ID_FS_LABEL}"
ACTION=="add", RUN+="/bin/mkdir -p %E{mount_point}",
               RUN+="/bin/mount -o iocharset=utf8 /dev/%k %E{mount_point}"

ls /media 的结果,对应的 mount point 为 USB_____。被转换为下划线了。

应该怎么正确获取到这个卷标呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

你的他你的她 2022-09-04 00:26:48

插入一个在 windows 下命名为 “usb 磁盘”的 fat32 U 盘

后面的 \xb4\xc5\xc5\xcc 不知是什么编码。

编码是GBK。

python2
>>> print(str('\x20\xb4\xc5\xc5\xcc').decode('gbk').encode('UTF-8'))
 磁盘

所以你获取到\xb4\xc5\xc5\xcc后转换一下即可。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文