summary refs log tree commit diff
path: root/crypto/src/util/encoders/IEncoder.cs
blob: 33a2cde18299bb09979389ce37e4fbd46e0c26fb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
using System;
using System.IO;

namespace Org.BouncyCastle.Utilities.Encoders
{
	/**
	 * Encode and decode byte arrays (typically from binary to 7-bit ASCII
	 * encodings).
	 */
	public interface IEncoder
	{
		int Encode(byte[] data, int off, int length, Stream outStream);

#if NETCOREAPP2_1_OR_GREATER || NETSTANDARD2_1_OR_GREATER
		int Encode(ReadOnlySpan<byte> data, Stream outStream);
#endif

		int Decode(byte[] data, int off, int length, Stream outStream);

#if NETCOREAPP2_1_OR_GREATER || NETSTANDARD2_1_OR_GREATER
		int Decode(ReadOnlySpan<byte> data, Stream outStream);
#endif

		int DecodeString(string data, Stream outStream);
	}
}