SpanEncoders.Utf8Encoder
Namespace: SnowBank.Data.Binary · struct
Implements: ISpanEncoder<string>, ISpanDecoder<string>, ISpanEncoder<ReadOnlyMemory<char>>, ISpanDecoder<ReadOnlyMemory<char>>, ISpanEncoder<StringBuilder>, ISpanEncoder<ReadOnlySpan<char>>
Encodes strings as UTF-8 bytes
Remarks
This encoder can produce larger values than Utf16Encoder when the encoded text contains mostly non-Latin text (which will use up to 3 bytes per character instead of 2)
Methods
TryDecode
static bool TryDecode(ReadOnlySpan<byte> source, out string value)
static bool TryDecode(ReadOnlySpan<byte> source, out ReadOnlyMemory<char> value)
TryEncode
static bool TryEncode(Span<byte> destination, out int bytesWritten, in string value)
static bool TryEncode(Span<byte> destination, out int bytesWritten, in ReadOnlySpan<char> value)
static bool TryEncode(Span<byte> destination, out int bytesWritten, in ReadOnlyMemory<char> value)
static bool TryEncode(Span<byte> destination, out int bytesWritten, in StringBuilder value)
TryGetSizeHint
static bool TryGetSizeHint(in string value, out int sizeHint)
static bool TryGetSizeHint(in ReadOnlySpan<char> value, out int sizeHint)
static bool TryGetSizeHint(in ReadOnlyMemory<char> value, out int sizeHint)
static bool TryGetSizeHint(in StringBuilder value, out int sizeHint)
TryGetSpan
static bool TryGetSpan(in string value, out ReadOnlySpan<byte> span)
static bool TryGetSpan(in ReadOnlySpan<char> value, out ReadOnlySpan<byte> span)
static bool TryGetSpan(in ReadOnlyMemory<char> value, out ReadOnlySpan<byte> span)
static bool TryGetSpan(in StringBuilder value, out ReadOnlySpan<byte> span)