CodeWithSaar.PathUtility
1.0.3
dotnet add package CodeWithSaar.PathUtility --version 1.0.3
NuGet\Install-Package CodeWithSaar.PathUtility -Version 1.0.3
<PackageReference Include="CodeWithSaar.PathUtility" Version="1.0.3" />
<PackageVersion Include="CodeWithSaar.PathUtility" Version="1.0.3" />
<PackageReference Include="CodeWithSaar.PathUtility" />
paket add CodeWithSaar.PathUtility --version 1.0.3
#r "nuget: CodeWithSaar.PathUtility, 1.0.3"
#:package CodeWithSaar.PathUtility@1.0.3
#addin nuget:?package=CodeWithSaar.PathUtility&version=1.0.3
#tool nuget:?package=CodeWithSaar.PathUtility&version=1.0.3
PathUtility
Welcome to PathUtility.
This is a small utility to encode / decode file names, so that any characters could be used as a file or folder name.
Scenario
You want to leverage folder name for category of the books, and book name as file name, for your application, for example:
Books
└ Thriller
│ Book1
└ Book2
That make sense. However, not all the characters are allowed, for example, :, *, ?. You also can't end a filename with a period .. Imaging books like this:
Books
└ Unknown* # `*` isn't allowed
│ Into the Abyss: An Extraordinary True Story # `:` isn't allowed
| Do Androids Dream of Electric Sheep? # `?` isn't allowed
To address that, this library encodes string for those special characters and rules. For example
using CodeWithSaar;
string encodedBookName = FileUtility.Encode("Into the Abyss: An Extraordinary True Story");
// encodedBookName will be: Into the Abyss%003A An Extraordinary True Story
And to read the folder and get the string back:
using CodeWithSaar;
string originalString = FileUtility.Decode("Into the Abyss%003A An Extraordinary True Story");
// originalString will be: Into the Abyss: An Extraordinary True Story
What does this library handles
- Special characters:
<>:\"/\\|?* - Reserved device names:
CON, AUX, NUL, COM1 ... - Special file names:
.,..(current folder or parent folder) - Period or space at the end of the files.
Reference
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.