原来 windows 是这么处理 wsl 里的文件名中特殊符号映射的

Jat001 1月前 22

首先先在 wsl 了创建一个带特殊符合的文件,比如

touch 1:2

可以看到能正常显示

而在 windows 里变成了一个“大空格”

但其实这不是空格,而是 12,把中间的字符放到 google 搜索就能找到对应的 unicode 字符编码 U+F03A

而如果反过来,直接在 windows 里创建带特殊 unicode 字符的文件也是可以的,比如下图中的 3:4 就是我在 explorer 里直接创建的

当然其他 unix 允许而 win 不允许的符号也是有映射的,比如 ?U+F03F\U+F05C,而且这些字符在 docker on wsl2 里也是支持的

最新回复 (5)
  • chinvo 24天前
    引用 2
    : 本身是 NTFS 上合法的文件名, 代表 NTFS 流
  • longquanwo 24天前
    引用 3
    你的 Windows10 系统是啥版本啊
  • 楼主 Jat001 24天前
    引用 4
    @longquanwo #2 Insider Preview Build 21354
  • agagega 24天前
    引用 5
    macOS 也有类似的逻辑,Finder 里的 / 在命令行里是 :
  • no1xsyzy 24天前
    引用 6
    @chinvo 准确地说不是合法 “文件名”,因为你不能添加多个 :
    话说起来,U+F03A 在 JB 家里面会显示为一个电话
  • 游客
    7
返回