Pkg.add("CodecBase")using CodecBase
# UTF8-encoded text.
data ="""祇園精舎の鐘の声、諸行無常の響きあり。沙羅双樹の花の色、盛者必衰のことわりをあらはす。奢れる人も久しからず、唯春の夜の夢のごとし。"""# Base64-encoded data of the above.
base64 ="""56WH5ZyS57K+6IiO44Gu6ZCY44Gu5aOw44CB6Ku46KGM54Sh5bi444Gu6Z+/44GN44GC44KK44CCCuaymee+heWPjOaoueOBruiKseOBruiJsuOAgeebm+iAheW/heihsOOBruOBk+OBqOOCj+OCiuOCkuOBguOCieOBr+OBmeOAggrlpaLjgozjgovkurrjgoLkuYXjgZfjgYvjgonjgZrjgIHllK/mmKXjga7lpJzjga7lpKLjga7jgZTjgajjgZfjgIIK"""# Streaming API.
encoded =readstring(Base64EncoderStream(IOBuffer(data)))
@assert encoded ==replace(base64, "\n", "")
decoded =read(Base64DecoderStream(IOBuffer(base64)))
@assert decoded ==Vector{UInt8}(data)
# Byte array API.
encoded =transcode(Base64Encoder(), data)
@assertString(encoded) ==replace(base64, "\n", "")
decoded =transcode(Base64Decoder(), base64)
@assert decoded ==Vector{UInt8}(data)This package exports following codecs and streams:
| Codec | Stream |
|---|---|
Base16Encoder | Base16EncoderStream |
Base16Decoder | Base16DecoderStream |
Base32Encoder | Base32EncoderStream |
Base32Decoder | Base32DecoderStream |
Base64Encoder | Base64EncoderStream |
Base64Decoder | Base64DecoderStream |
See docstrings and TranscodingStreams.jl for details.