如何正确获取带中文的 fat32 U 盘卷标?
对于 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
编码是GBK。
所以你获取到
\xb4\xc5\xc5\xcc
后转换一下即可。