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)