View Source QRNBU.Encoders.Base64URL (NBU payment QR v0.3.3)
Base64URL encoding for NBU QR code data strings (V002/V003).
Implements URL-safe Base64 encoding as per RFC 4648 Section 5.
Encoding Rules
- Uses
-instead of+ - Uses
_instead of/ - No padding (
=characters removed)
Examples
iex> QRNBU.Encoders.Base64URL.encode("Hello")
"SGVsbG8"
iex> QRNBU.Encoders.Base64URL.decode("SGVsbG8")
{:ok, "Hello"}
Summary
Functions
Decodes Base64URL-encoded string back to binary.
Encodes binary data to Base64URL format.
Validates if a string is valid Base64URL format.
Functions
Decodes Base64URL-encoded string back to binary.
Parameters
encoded- Base64URL-encoded string
Returns
{:ok, decoded_binary}if decoding succeeds{:error, reason}if decoding fails
Examples
iex> QRNBU.Encoders.Base64URL.decode("dGVzdA")
{:ok, "test"}
iex> QRNBU.Encoders.Base64URL.decode("invalid!")
{:error, "Invalid Base64URL string"}
Encodes binary data to Base64URL format.
Parameters
data- Binary data to encode
Returns
Base64URL-encoded string without padding.
Examples
iex> QRNBU.Encoders.Base64URL.encode("test")
"dGVzdA"
iex> QRNBU.Encoders.Base64URL.encode(<<0, 1, 2>>)
"AAEC"
Validates if a string is valid Base64URL format.
Examples
iex> QRNBU.Encoders.Base64URL.valid?("dGVzdA")
true
iex> QRNBU.Encoders.Base64URL.valid?("invalid!")
false