Sha256: 0279d42c342d6e5090dfdba18cc0d8095f5d48c8ed75454aaf732f2bf554df20
Contents?: true
Size: 479 Bytes
Versions: 26
Compression:
Stored size: 479 Bytes
Contents
#!/usr/bin/env ruby def decode(base, string) data = ((0..9).to_a + ('a'..'z').to_a + ('A'..'Z').to_a) + ['+', '/'] if base > data.size raise "Max base is: #{data.size}" end total = 0 count = 0 string.reverse.each_char do |char| if char =~ /^\d+$/ char = char.to_i end index = data.index(char) total = total + (index * (base ** count)) count += 1 end total end STDIN.each_line do |line| puts decode(ARGV[0].to_i, line.chomp) end
Version data entries
26 entries across 26 versions & 1 rubygems