SpanEncoders.Utf16Encoder
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-16 bytes
Remarks
Each character will be encoded as 2 bytes (in little-endian)
This encoder can produce more compact values than Utf8Encoder when the text contains mostly non-Latin text (which would use up to 3 bytes per character)
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)