2014-08-27 55 views
0

鑑於任何.NET字符串,什麼是C#算法將其轉換爲任何操作系統上的安全文件名? Windows,iOS,Android,Linux?目標是儘可能保留原始字符串,同時使其在任何平臺上作爲文件名安全使用。C#將任何字符串轉換爲安全的跨平臺文件名?

+1

Base36可能運作良好。您不希望假設您的文件系統區分大小寫。 – 2014-08-27 20:26:06

+1

您還需要考慮文件名的長度,因爲它隨系統而異。 – wdosanjos 2014-08-27 20:32:50

+0

我不知道任何可以使用的內置方法。我爲Windows生成了自己的檢查到Linux。 – KSdev 2014-08-27 20:36:19

回答

1

嘗試使用System.IO.Path類中的GetInvalidFileNameChars()方法。

System.IO.Path.GetInvalidFileNameChars() 
+0

這是否處理的情況下,Windows文件名可能是「空間在這裏」,併爲Linux轉換爲「Space \ Here」?我知道我以前遇到過Windows到Linux的間距問題,只是好奇而已 – KSdev 2014-08-27 20:32:13

相關問題