// Copyright (c) All contributors. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. using System; using System.Diagnostics; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Text; namespace MessagePack { internal static class StringEncoding { internal static readonly Encoding UTF8 = new UTF8Encoding(false); #if !NETCOREAPP // Define the extension method only where an instance method does not already exist. internal static unsafe string GetString(this Encoding encoding, ReadOnlySpan bytes) { if (bytes.Length == 0) { return string.Empty; } fixed (byte* pBytes = bytes) { return encoding.GetString(pBytes, bytes.Length); } } #endif } }