SimpleBase 3.0.0

Base16, Base32, Base58, Base85 encoding/decoding library

There is a newer version of this package available.
See the version list below for details.
Install-Package SimpleBase -Version 3.0.0
dotnet add package SimpleBase --version 3.0.0
<PackageReference Include="SimpleBase" Version="3.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add SimpleBase --version 3.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

# Breaking changes
- This version only supports .NET Standard 2.1 (.NET Core 3.0) and up, because I started using nullable annotations
 and Span/Range constructs in the code. It's time to move to the future, folks!
- Base16 encoding/decoding methods have been moved to `Base16.UpperCase` and `Base16.LowerCase` respectively.
- Changed the static version of `Base16.Decode()` to receive a string as a parameter to avoid signature conflicts. (It's probably more practical this way)
- Removed string/byte[] overloads for Encode functions as they are redundant with .NET Core 3.0. Only `Base16.Decode`
 remained as a string due to function signature conflicts.
- Base32 is no longer whitespace tolerant.

# New features
- New TryEncode/TryDecode interfaces for non-allocating encoding. Probably would be useful in massive number of encodings.
- Yubico's ModHex support for Base16.

# Improvements
- More than 2x faster Base16 decoding
- Faster Base16 encoding
- More test coverage
- No more dependency to System.Runtime.Numerics
- Encoders now conform to common interfaces like IBaseEncoder, IBaseStreamEncoder, INonAllocatingBaseEncoder
 which make them pluggable, replacable with other implementations.
- Nullable reference annotations

# Fixes
- Fix package license expression.
- Fix regression in Base16 optimizations.

NuGet packages (11)

Showing the top 5 NuGet packages that depend on SimpleBase:

Package Downloads
DNS data model with serializer/deserializer for the wire and master file format.
Core objects and interfaces for IPFS. The InterPlanetary File System is the permanent web. It is a new hypermedia distribution protocol, addressed by content and identities. IPFS enables the creation of completely distributed applications. It aims to make the web faster, safer, and more open.
Absolunet inRiver Core based on inRiver iPMC
Package Description
Package Description

GitHub repositories (3)

Showing the top 3 popular GitHub repositories that depend on SimpleBase:

Repository Stars
A self-service password management tool for Active Directory
Bizanc Blockchain
Mount the InterPlanetary File System as a mapped drive on Windows

Version History

Version Downloads Last updated
3.0.1 17,232 2/14/2020
3.0.0 8,493 12/24/2019
2.1.0 7,807 1/21/2020
2.0.0 11,538 10/12/2019
1.8.0 31,860 3/20/2019
1.7.1 41,730 12/4/2018
1.6.1 12,225 7/13/2018
1.4.1 1,552 5/30/2018
1.3.1 89,735 7/27/2017
1.3.0 411 7/26/2017
1.2.0 3,388 5/19/2016
1.1.1 8,763 5/18/2016
1.1.0 528 5/16/2016