| File: IpcHelpers.cs | Web Access |
| Project: src\diagnostics\src\Microsoft.Diagnostics.NETCore.Client\Microsoft.Diagnostics.NETCore.Client.csproj (Microsoft.Diagnostics.NETCore.Client) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System; using System.Buffers.Binary; using System.Text; namespace Microsoft.Diagnostics.NETCore.Client { internal static class IpcHelpers { public static string ReadString(byte[] buffer, ref int index) { // Length of the string of UTF-16 characters int length = BinaryPrimitives.ReadInt32LittleEndian(new ReadOnlySpan<byte>(buffer, index, 4)); index += sizeof(uint); int size = (int)length * sizeof(char); // The string contains an ending null character; remove it before returning the value string value = Encoding.Unicode.GetString(buffer, index, size).Substring(0, length - 1); index += size; return value; } } }