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" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add MikValSor.Base32 --version 1.0.6
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

.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.

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
1.0.6 3,515 5/8/2018
1.0.5 223 5/3/2018
1.0.4 266 4/30/2018
1.0.3 201 4/23/2018
1.0.2 220 4/23/2018
1.0.1 320 4/20/2018
1.0.0 327 4/20/2018