Data. Encoding. Base24
dotnet add package Gapotchenko.FX.Data.Encoding.Base24 --version 2022.2.7
NuGet\Install-Package Gapotchenko.FX.Data.Encoding.Base24 -Version 2022.2.7
<PackageReference Include="Gapotchenko.FX.Data.Encoding.Base24" Version="2022.2.7" />
paket add Gapotchenko.FX.Data.Encoding.Base24 --version 2022.2.7
#r "nuget: Gapotchenko.FX.Data.Encoding.Base24, 2022.2.7"
// Install Gapotchenko.FX.Data.Encoding.Base24 as a Cake Addin #addin nuget:?package=Gapotchenko.FX.Data.Encoding.Base24&version=2022.2.7 // Install Gapotchenko.FX.Data.Encoding.Base24 as a Cake Tool #tool nuget:?package=Gapotchenko.FX.Data.Encoding.Base24&version=2022.2.7
The module provides the implementation of binary-to-text encoding algorithms belonging to Base24 family.
Use the following code to get the textual representation of the specified data in Base24 encoding:
using Gapotchenko.FX.Data.Encoding; var encodedText = KuonBase24.GetString(data);
To get the data back from the textual representation, use the following method:
var decodedData = KuonBase24.GetBytes(encodedText);
Iterative Data Processing
If you need to encode the data iteratively then the following approach becomes handy:
var encoding = KuonBase24.Instance; // Create a streaming encoder that iteratively encodes the data and // writes the encoded text to the specified text writer. var stream = encoding.CreateEncoder(textWriter); // Stream the data to encode. stream.Write(...); // block 1 // ... stream.Write(...); // block N // Flush the data to the underlying text writer. stream.Flush();
The same approach is valid for the decoding operation which is the opposite of the encoding:
var encoding = KuonBase24.Instance; // Create a streaming decoder that iteratively reads the encoded text // from the specified text reader and decodes the data on the fly. var stream = encoding.CreateDecoder(textReader); // Stream the decoded data. stream.Read(...); // block 1 // ... stream.Read(...); // block N
Available Base24 Algorithms
Base24 family of binary-to-text data encodings consists of the following algorithms with predefined parameters:
|Algorithm||Gapotchenko.FX Implementation||Alphabet||Case-Sensitivity||Data Encoding Efficiency*|
* Data encoding efficiency is the ratio between the amount of original data and its encoded representation.
Commonly Used Types
Let's continue with a look at some other modules provided by Gapotchenko.FX:
Or look at the full list of modules.
|Product||Versions Compatible and additional computed target framework versions.|
|.NET||net5.0 is compatible. net5.0-windows was computed. net6.0 is compatible. 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 is compatible. 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-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed.|
|.NET Core||netcoreapp2.0 is compatible. netcoreapp2.1 is compatible. netcoreapp2.2 was computed. netcoreapp3.0 is compatible. netcoreapp3.1 was computed.|
|.NET Standard||netstandard2.0 is compatible. netstandard2.1 is compatible.|
|.NET Framework||net46 is compatible. net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 is compatible. net472 is compatible. 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.|
This package is not used by any NuGet packages.
This package is not used by any popular GitHub repositories.