Skip to content

Latest commit

History

45 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

CodecBase.jl

Installation

Pkg.add("CodecBase")

Usage

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:

CodecStream
Base16EncoderBase16EncoderStream
Base16DecoderBase16DecoderStream
Base32EncoderBase32EncoderStream
Base32DecoderBase32DecoderStream
Base64EncoderBase64EncoderStream
Base64DecoderBase64DecoderStream

See docstrings and TranscodingStreams.jl for details.

About

Base 16/32/64 codecs for TranscodingStreams.jl

Topics

Resources

Stars

8 stars

Watchers

2 watching

Forks

Releases

Used by

Contributors

Languages