[编辑/免责声明]:评论指出我必须澄清用户使用的编码。会相应更新
我有一位来自中国的客户最近报告了他们在 Windows 上的文件名问题。该软件适用于大多数汉字,但他似乎找到了一个失败的文件。
不幸的是,他们无法通过文件名向我发送文件,因为压缩或通过其他媒体传输文件似乎都不会保留文件名。
什么是最简单的方法(例如通过 Python)在 Windows 上生成由 NTFS 文件系统编码覆盖但不是的文件名UTF8
?
Unicode 字符串被编码为一系列字节。一系列字节在操作系统中的视觉外观规则是操作系统用来将字节转换为字符的规则。
鉴于 Windows 使用(的变体)Unicode,并且您说您有一个不在 Unicode 中的字符,这也意味着根本无法表示该字符。
想象一下,如果 unicode 只包含数字 0-9,而你问某人如何对字母进行编码A
。对此没有答案,因为只定义了 0-9。
您可以为您的角色创建一个新的 unicode 代码点,但是除非您还制作自己的字体文件,否则操作系统将不知道如何处理它。
我不知何故怀疑那是你想要做的,但这是一个选择。您的客户可以在将文件发送给您之前重命名该文件吗?