0
鑑於任何.NET字符串,什麼是C#算法將其轉換爲任何操作系統上的安全文件名? Windows,iOS,Android,Linux?目標是儘可能保留原始字符串,同時使其在任何平臺上作爲文件名安全使用。C#將任何字符串轉換爲安全的跨平臺文件名?
鑑於任何.NET字符串,什麼是C#算法將其轉換爲任何操作系統上的安全文件名? Windows,iOS,Android,Linux?目標是儘可能保留原始字符串,同時使其在任何平臺上作爲文件名安全使用。C#將任何字符串轉換爲安全的跨平臺文件名?
嘗試使用System.IO.Path類中的GetInvalidFileNameChars()方法。
System.IO.Path.GetInvalidFileNameChars()
這是否處理的情況下,Windows文件名可能是「空間在這裏」,併爲Linux轉換爲「Space \ Here」?我知道我以前遇到過Windows到Linux的間距問題,只是好奇而已 – KSdev 2014-08-27 20:32:13
Base36可能運作良好。您不希望假設您的文件系統區分大小寫。 – 2014-08-27 20:26:06
您還需要考慮文件名的長度,因爲它隨系統而異。 – wdosanjos 2014-08-27 20:32:50
我不知道任何可以使用的內置方法。我爲Windows生成了自己的檢查到Linux。 – KSdev 2014-08-27 20:36:19