MikValSor.Base32
1.0.6
Base32 Encoder, Decoder and ValueType. Implementing multiple standards:
- [default] Base32 according to RFC4648.
- z-base-32 aka. ZBase32.
- Crockford's Base32.
- base32hex / Triacontakaidecimal according to RFC 2938.
Install-Package MikValSor.Base32 -Version 1.0.6
dotnet add package MikValSor.Base32 --version 1.0.6
<PackageReference Include="MikValSor.Base32" Version="1.0.6" />
paket add MikValSor.Base32 --version 1.0.6
.NET Standard Libaray for Base32 Encoder, Decoder and ValueType. Implementing multiple standards:
- [default] Base32 according to RFC4648.
- z-base-32 aka. ZBase32.
- Crockford's Base32.
- base32hex / Triacontakaidecimal according to RFC 2938.
Encoding Example:
static void EncodeExample()
{
var bytearray = new byte[] { 0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11 };
var base32string = MikValSor.Encoding.Base32Encoder.Encode(bytearray);
System.Console.WriteLine($"base32string: {base32string}");
}
/**
Output:
base32string: AAAQEBAFAYDQQCIKBM======
**/
Decoding Example:
static void DecodeExample()
{
var base32string = "AAAQEBAFAYDQQCIKBM======";
var bytearray = MikValSor.Encoding.Base32Decoder.Decode(base32string);
for (var i = 0; i < bytearray.Length; i++)
{
System.Console.WriteLine($"bytearray[{i}]: {bytearray[i]}");
}
}
/**
Output:
bytearray[0]: 0
bytearray[1]: 1
bytearray[2]: 2
bytearray[3]: 4
bytearray[4]: 5
bytearray[5]: 6
bytearray[6]: 7
bytearray[7]: 8
bytearray[8]: 9
bytearray[9]: 10
bytearray[10]: 11
**/
Value Type Encode Example:
static void ValueTypeEncodeExample()
{
var bytearray = new byte[] { 0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11 };
MikValSor.Encoding.Base32 base32 = new MikValSor.Encoding.Base32(bytearray);
System.Console.WriteLine($"base32: {base32}");
}
/**
Output:
base32: AAAQEBAFAYDQQCIKBM======
**/
Value Type Parse Example:
static void ValueTypeParseExample()
{
var base32string = "AAAQEBAFAYDQQCIKBM======";
MikValSor.Encoding.Base32 base32 = MikValSor.Encoding.Base32.Parse(base32string);
var bytearray = base32.ToByteArray();
for (var i = 0; i < bytearray.Length; i++)
{
System.Console.WriteLine($"bytearray[{i}]: {bytearray[i]}");
}
}
/**
Output:
bytearray[0]: 0
bytearray[1]: 1
bytearray[2]: 2
bytearray[3]: 4
bytearray[4]: 5
bytearray[5]: 6
bytearray[6]: 7
bytearray[7]: 8
bytearray[8]: 9
bytearray[9]: 10
bytearray[10]: 11
**/
.NET Standard Libaray for Base32 Encoder, Decoder and ValueType. Implementing multiple standards:
- [default] Base32 according to RFC4648.
- z-base-32 aka. ZBase32.
- Crockford's Base32.
- base32hex / Triacontakaidecimal according to RFC 2938.
Encoding Example:
static void EncodeExample()
{
var bytearray = new byte[] { 0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11 };
var base32string = MikValSor.Encoding.Base32Encoder.Encode(bytearray);
System.Console.WriteLine($"base32string: {base32string}");
}
/**
Output:
base32string: AAAQEBAFAYDQQCIKBM======
**/
Decoding Example:
static void DecodeExample()
{
var base32string = "AAAQEBAFAYDQQCIKBM======";
var bytearray = MikValSor.Encoding.Base32Decoder.Decode(base32string);
for (var i = 0; i < bytearray.Length; i++)
{
System.Console.WriteLine($"bytearray[{i}]: {bytearray[i]}");
}
}
/**
Output:
bytearray[0]: 0
bytearray[1]: 1
bytearray[2]: 2
bytearray[3]: 4
bytearray[4]: 5
bytearray[5]: 6
bytearray[6]: 7
bytearray[7]: 8
bytearray[8]: 9
bytearray[9]: 10
bytearray[10]: 11
**/
Value Type Encode Example:
static void ValueTypeEncodeExample()
{
var bytearray = new byte[] { 0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11 };
MikValSor.Encoding.Base32 base32 = new MikValSor.Encoding.Base32(bytearray);
System.Console.WriteLine($"base32: {base32}");
}
/**
Output:
base32: AAAQEBAFAYDQQCIKBM======
**/
Value Type Parse Example:
static void ValueTypeParseExample()
{
var base32string = "AAAQEBAFAYDQQCIKBM======";
MikValSor.Encoding.Base32 base32 = MikValSor.Encoding.Base32.Parse(base32string);
var bytearray = base32.ToByteArray();
for (var i = 0; i < bytearray.Length; i++)
{
System.Console.WriteLine($"bytearray[{i}]: {bytearray[i]}");
}
}
/**
Output:
bytearray[0]: 0
bytearray[1]: 1
bytearray[2]: 2
bytearray[3]: 4
bytearray[4]: 5
bytearray[5]: 6
bytearray[6]: 7
bytearray[7]: 8
bytearray[8]: 9
bytearray[9]: 10
bytearray[10]: 11
**/
Release Notes
1.0.6 - Added Icon.
1.0.5 - Made Base32 value type Immutable and Serializable.
1.0.4 - Added .NET Framework 4.5 build output.
1.0.3 - Added support for z-base-32, Crockford's Base32 and base32hex / Triacontakaidecimal / RFC 2938
1.0.2 - Fixed encoding bug and optimizations.
1.0.1 - Added in class documentation.
1.0.0 - Initial release.
Dependencies
-
.NETFramework 4.5
- MikValSor.ImmutableCollection (>= 1.0.4)
-
.NETStandard 2.0
- MikValSor.ImmutableCollection (>= 1.0.4)
Used By
NuGet packages (1)
Showing the top 1 NuGet packages that depend on MikValSor.Base32:
Package | Downloads |
---|---|
MikValSor.ImmutableStore
Library for storage of immutable .Net types.
|
GitHub repositories
This package is not used by any popular GitHub repositories.