module Base64
def strict_decode64(str)
Base64.strict_decode64("MDEyMzQ1Njc==") # Raises ArgumentError
Base64.strict_decode64("MDEyMzQ1Njc=") # => "01234567"
Base64.strict_decode64("MDEyMzQ1Njc") # Raises ArgumentError
Padding in +encoded_string+, if present, must be correct:
Base64.strict_decode64('_') # Raises ArgumentError
Base64.strict_decode64('-') # Raises ArgumentError
Base64.strict_decode64("\n") # Raises ArgumentError
these include newline characters and characters - and /:
see {Encoding Character Set}[Base64.html#module-Base64-label-Encoding+Character+Sets] above:
Non-\Base64 characters in +encoded_string+ are not allowed;
Base64.strict_decode64(s) # => "This is line 1\nThis is line 2\n"
s = "VGhpcyBpcyBsaW5lIDEKVGhpcyBpcyBsaW5lIDIK"
\Base64-encoded string +encoded_string+:
Returns a string containing the decoding of an RFC-2045-compliant
Base64.strict_decode64(encoded_string) -> decoded_string
:call-seq:
def strict_decode64(str) str.unpack1("m0") end