61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
# File 'lib/multibases/base2.rb', line 61
def decode(encoded)
return DecodedByteArray::EMPTY if encoded.empty?
unless encoded.is_a?(Array)
encoded = encoded.force_encoding(@table.encoding).bytes
end
unless decodable?(encoded)
raise ArgumentError, "'#{encoded}' contains unknown characters'"
end
unless default?
encoded = ByteArray.new(encoded).transcode(
table_ords,
Default.table_ords(force_strict: @table.strict?),
encoding: Encoding::US_ASCII
)
end
Multibases::Base2.decode(encoded)
end
|