yabase/core/encoding
Types
Core encoding types for yabase. Variants for Base32 encoding.
pub type Base32Variant {
RFC4648
Hex
Crockford
CrockfordCheck
Clockwork
ZBase32
}
Constructors
-
RFC4648RFC 4648 standard Base32
-
HexRFC 4648 Base32 with extended hex alphabet
-
CrockfordCrockford’s Base32
-
CrockfordCheckCrockford’s Base32 with mod-37 check symbol
-
ClockworkClockwork Base32 (human-friendly, no padding)
-
ZBase32z-base-32 (human-oriented, no padding)
Result of decoding a Base58Check string.
pub type Base58CheckDecoded {
Base58CheckDecoded(version: Int, payload: BitArray)
}
Constructors
-
Base58CheckDecoded(version: Int, payload: BitArray)
Variants for Base58 encoding.
pub type Base58Variant {
Bitcoin
Flickr
}
Constructors
-
BitcoinBitcoin alphabet (uppercase before lowercase)
-
FlickrFlickr alphabet (lowercase before uppercase)
Variants for Base64 encoding.
pub type Base64Variant {
Standard
UrlSafe
NoPadding
UrlSafeNoPadding
DQ
}
Constructors
-
StandardRFC 4648 standard Base64 (with padding)
-
UrlSafeURL-safe Base64 with padding (RFC 4648 section 5)
-
NoPaddingStandard Base64 without padding
-
UrlSafeNoPaddingURL-safe Base64 without padding
-
DQDragon Quest revival password style Base64 (hiragana)
Variants for Base85 encoding.
pub type Base85Variant {
Btoa
Adobe
Rfc1924
Z85
}
Constructors
-
Btoabtoa-style Ascii85 (z for all-zero, y for all-space)
-
AdobeAdobe Ascii85 with <~ ~> delimiters
-
Rfc1924RFC 1924 alphabet (input must be 4-byte aligned)
-
Z85ZeroMQ Z85 (input must be 4-byte aligned)
Result of decoding a Bech32/Bech32m string.
pub type Bech32Decoded {
Bech32Decoded(
hrp: String,
data: BitArray,
variant: Bech32Variant,
)
}
Constructors
-
Bech32Decoded( hrp: String, data: BitArray, variant: Bech32Variant, )
Bech32 encoding variant.
pub type Bech32Variant {
Bech32
Bech32m
}
Constructors
-
Bech32BIP 173 original Bech32
-
Bech32mBIP 350 improved Bech32m
Errors that can occur during encoding or decoding.
pub type CodecError {
InvalidCharacter(character: String, position: Int)
InvalidLength(length: Int)
Overflow
UnsupportedPrefix(prefix: String)
UnsupportedMultibaseEncoding(encoding_name: String)
InvalidChecksum
InvalidHrp(reason: String)
}
Constructors
-
InvalidCharacter(character: String, position: Int)Input contains a character not in the encoding’s alphabet.
-
InvalidLength(length: Int)Input length is not valid for the encoding.
-
OverflowDecoded value overflows the expected range.
-
UnsupportedPrefix(prefix: String)An unknown multibase prefix was encountered during decode.
-
UnsupportedMultibaseEncoding(encoding_name: String)An encoding has no assigned multibase prefix (e.g. Base64 DQ).
-
InvalidChecksumChecksum verification failed (Base58Check, Bech32).
-
InvalidHrp(reason: String)Invalid human-readable part in Bech32/Bech32m.
Represents a supported encoding scheme.
pub type Encoding {
Base2
Base8
Base10
Base16
Base32(Base32Variant)
Base36
Base45
Base58(Base58Variant)
Base62
Base64(Base64Variant)
Base85(Base85Variant)
Base91
}
Constructors
-
Base2 -
Base8 -
Base10 -
Base16 -
Base32(Base32Variant) -
Base36 -
Base45 -
Base58(Base58Variant) -
Base62 -
Base64(Base64Variant) -
Base85(Base85Variant) -
Base91