=Anybase ==Arbitrary number bases So often, I need to create random number bases, with random digits, to satisfy some crazy requirement. Here is an example of how you'd do hex in Anybase. base = Anybase.new('0123456789abcdef') base.to_i('f0a') => 3850 base.to_native(123450) => "1e23a" As well, you can tell Anybase to ignore case. base = Anybase.new('0123456789abcdef', :ignore_case => true) base.to_i('F0A') => 3850 Anybase can also have synonyms. base = Anybase.new('0123456789abcdef', :synonyms => {'0' => 'oO'}) base.to_i('FoA') => 3850 base.to_i('FOA') => 3850 Anybase can also zeropad your output with whatever your "zero" character is. Anybase.new("012345678").to_native(1234, :zero_pad => 8) => '00001621' Anybase gives you a few built-in: Anybase::Hex, Anybase::Base64, Anybase::Base64ForURL and Anybase::Base62 (should all be pretty self-explanatory) As well, there is an AnyBase::Base73ForURL. This includes the characters: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789$-_.+!*\'(),