File decode.cs of Package gmsa-kinit
// SPDX-FileCopyrightText: 2022 Amazon.com, Inc. or its affiliates
// SPDX-License-Identifier: Apache-2.0
// Windows seems to use UTF-16.
// For Linux use, UTF-16 strings have to be
// translated to UTF-8.
//
class EncodeToUTF8 {
public static void Main() {
const int inputBufferSize = 1024;
// Reading beyond 1K is not needed for gMSA purposes
byte[] utf16Bytes = new byte[inputBufferSize];
System.IO.Stream inputStream = System.Console.OpenStandardInput();
inputStream.Read(utf16Bytes, 0, inputBufferSize);
System.Text.Encoding utf8 = System.Text.Encoding.UTF8;
System.Text.Encoding utf16 = System.Text.Encoding.Unicode;
byte[] utf8Bytes = System.Text.Encoding.Convert(System.Text.Encoding.Unicode,
System.Text.Encoding.UTF8, utf16Bytes);
System.IO.Stream outputStream = System.Console.OpenStandardOutput();
outputStream.Write(utf8Bytes);
}
}