Base64エンコード/デコード

Base64のエンコードとデコードを行うサンプルです
Examples: Base64エンコード/デコードを行うサンプルです
import std.base64;
immutable ubyte[] decodedData = [0,1,2,3,4,5,6,7];
// エンコード
string encodedData = Base64.encode(decodedData);
assert(encodedData == "AAECAwQFBgc=");
// デコード
assert(Base64.decode(encodedData) == decodedData);
Examples: Base64エンコード/デコードの保存先をOutputRangeにすることもできます
import std.base64;
import std.array: appender;
immutable ubyte[] decodedData = [0,1,2,3,4,5,6,7];
// エンコード
auto enc = appender!string;
Base64.encode(decodedData, enc);
assert(enc.data == "AAECAwQFBgc=");
// デコード
auto dec = appender!(ubyte[]);
Base64.decode(enc.data, dec);
assert(dec.data == decodedData);
Examples: Base64エンコード/デコードの入力元をInputRangeにすることもできます
import std.base64;
import std.array: appender;
import std.range: iota;
import std.algorithm: equal;
auto decodedData = iota(ubyte(0), ubyte(8));
// エンコード
auto enc = appender!string;
Base64.encode(decodedData.save, enc);
assert(enc.data == "AAECAwQFBgc=");
// デコード
auto dec = appender!(ubyte[]);
Base64.decode(enc.data, dec);
assert(dec.data.equal(decodedData.save));