Skip to content

Navigation Menu

Sign in
Appearance settings
Sign up
Appearance settings
Open more actions menu

Repository files navigation

CsBenc

.NET Core Build status Coverage Status

A base-n encoder for the .NET ecosystem.

The aim is to provide a .NET Core compatible arbitrary base-N encoder for the adventurous.

For the not so adventurous, a comprehensive set of predefined encoders are available, from the classic RFC compliant Base32 and Base64 string-to-string encodings to modern byte-to-string encodings like Base58 used for Bitcoin hashes.

Features

  • Built-in common encoders (Base64, Base32, Crockford, Base58)
  • Ability to create new encoders from custom dictionaries (with arbitrary length)

NOTE: This project is in early stages and may change a lot in the future

Usage

The Encoder class contains most of the functionality, allowing the quick instantiation of predefined encoders or the creation of new ones with custom dictionaries and lenghts as well as some extra features like checksums.

Example:

// Create a new Base64 encoder instance
var encoder = Encoder.RfcBase64();

var text = "This is a test"; // Text to encode
var encoded = encoder.Encode(text); // encoded == "VGhpcyBpcyBhIHRlc3Q="

Or a simpler usage:

var encoded = Encoder.RfcBase32().Encode("This is a test"); // encoded == "KRUGS4ZANFZSAYJAORSXG5A="

Roadmap

  • Implement more common encodings
  • Improve and add more Base58 features
  • Better performance (both memory and speed)

Contributing

Feel free to send a pull request to this project, report any issue you encounter or suggest improvements and features.

About

Yet another base-n encoder for the .NET ecosystem

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.