Method: BaseX#decode
- Defined in:
- lib/base_x.rb
#decode(encoded) ⇒ Object
126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 |
# File 'lib/base_x.rb', line 126 def decode(encoded) return "" if encoded.size == 0 int = string_to_integer(encoded) decoded = Base256.integer_to_string(int) decoded_number_size = 256**(decoded.size) encoded_number_size = base**(encoded.size) # encoded_number_size / base < decoded_number_size <= encoded_number_size while decoded_number_size <= encoded_number_size / base decoded = "\x00" + decoded decoded_number_size *= 256 end decoded end |