C# 如何转换文件名中的符号?
我在OSX上用C#编写了一个名为“Blaitière.bytes”的文件。然后我使用Directory.GetFiles列出所有文件,取而代之的是“Blaitie`re.bytes”。有没有办法从一个转换到另一个?i、 e.有没有一种方法可以让我知道我的文件名将转换成什么?这个答案()解释了为什么会发生这种情况-OSX上的文件名必须是完全分解的unicode,所以 电话:C# 如何转换文件名中的符号?,c#,macos,unicode,C#,Macos,Unicode,我在OSX上用C#编写了一个名为“Blaitière.bytes”的文件。然后我使用Directory.GetFiles列出所有文件,取而代之的是“Blaitie`re.bytes”。有没有办法从一个转换到另一个?i、 e.有没有一种方法可以让我知道我的文件名将转换成什么?这个答案()解释了为什么会发生这种情况-OSX上的文件名必须是完全分解的unicode,所以 电话: string path = ...my path... path = path.Normalize(System.Text.
string path = ...my path...
path = path.Normalize(System.Text.NormalizationForm.FormKD);
解决了这个问题。你可以自己做,看起来acutes的编码方式是`前面有字母,所以我假设旋转也是类似的编码方式,只需尝试各种符号,然后看看它们是如何编码的,还可以看看文件名是如何编码的。你可能会看到U+0300-结合了严重的口音。如果渲染该字符串,它应该正确显示为“Blaitière.bytes”