public void Test_Decode() { var expect = "あいうえお" + Environment.NewLine; var encoded = new Wbase59Encoder(new MemoryStream(Encoding.UTF8.GetBytes(expect)), Encoding.UTF8).Encode() .SelectMany(n => n.GetSpan().ToArray()).ToArray(); var actual = new Wbase59Decoder(new MemoryStream( Encoding.Convert(new UnicodeEncoding(true, false), Encoding.UTF8, encoded) ), Encoding.UTF8).Decode(); Assert.Equal(expect, Encoding.UTF8.GetString(actual.ToArray())); }
public void Test_Encode() { var bytes = Encoding.UTF8.GetBytes("あいうえお" + Environment.NewLine); using var ms = new MemoryStream(bytes); var expect = new List <Nabe>(); foreach (var b in bytes) { var val = b; expect.Add(new Nabe((BaseNabe)(val % 3))); do { expect.Add(Wbase59.Wbase59.ToNabe(val % 56)); val /= 56; } while (val >= 56); expect.Add(Wbase59.Wbase59.ToNabe(val)); } var actual = new Wbase59Encoder(ms, Encoding.UTF8).Encode(); Assert.Equal(expect, actual); }