Inspired by a short conversation with jsilence I was looking for a NewBase60 converter written in Java and C#.
NewBase60 is a format suitable for building parts of URLs, e.g. for URL shorteners. Instead of just using numbers for the short links it uses letters as well, while internally still using numeric values. (There are different strategies to increase a numeric value: just increase the number, increase it using hexadecmial notation, or using an extended set of characters like NewBase60 does it.)
Sadly, the NewBase60 posting didn’t list a C# implementation, and the link to the Java implementation was broken.
So I decided to write my own version. And while NewBase60 with its given 60 characters is just a special case for such numeric conversions, my Base-N implementation not only includes NewBase60 but also a binary, octal and a hexadecimal converter, a flexible base implementation for user-defined bases/alphabets and a “max. base 36” implementation.
The Base-N code is up on my github page, so feel free to download, use and/or fork it.
If you encounter any bugs or just want to provide any other (positive?) feedback, feel free to leave a comment below.