开发者社区> 问答> 正文

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

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

ls /dev/disk/by-label
对应的 U 盘 label 显示为 “USBx20xb4xc5xc5xcc”。usb 变为了大写,空格变为了 x20,后面的 xb4xc5xc5xcc 不知是什么编码。

对于在搭载 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_____。被转换为下划线了。

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

展开
收起
a123456678 2016-06-17 16:47:52 2900 0
1 条回答
写回答
取消 提交回答
  • 插入一个在 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后转换一下即可。
    2019-07-17 19:43:07
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载