public void Base64_Encode_ByteArray_Byte() { var encoder = new BaseNDecoder(BaseNAlphabet.Base64Alphabet); var output = new byte[4 * 1024]; for (var i = 0; i < this.data.Length;) { var flush = this.data.Length - i <= BaseNAlphabet.Base64Alphabet.EncodingBlockSize; encoder.Convert(this.data, i, this.data.Length - i, output, 0, output.Length, flush, out var inputUsed, out var outputUsed, out var complete); i += inputUsed; } }
public void Base64_Encode_Span_Byte() { var encoder = new BaseNDecoder(BaseNAlphabet.Base64Alphabet); var inputSpan = this.data.AsSpan(); var output = new byte[4 * 1024]; var outputSpan = output.AsSpan(); for (var i = 0; i < this.data.Length;) { var flush = this.data.Length - i <= BaseNAlphabet.Base64Alphabet.EncodingBlockSize; encoder.Convert(inputSpan.Slice(i), outputSpan, flush, out var inputUsed, out var outputUsed, out var complete); i += inputUsed; } }
public unsafe void Base64_Encode_Ptr_Byte() { var encoder = new BaseNDecoder(BaseNAlphabet.Base64Alphabet); var output = new byte[4 * 1024]; fixed(byte *inputPtr = this.data) fixed(byte *outputPtr = output) for (var i = 0; i < this.data.Length; ) { var flush = this.data.Length - i <= BaseNAlphabet.Base64Alphabet.EncodingBlockSize; encoder.Convert(inputPtr + i, this.data.Length - i, outputPtr, output.Length, flush, out var inputUsed, out var outputUsed, out var complete); i += inputUsed; } }