src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Serialization\TextEncodingKind.cs (26)
31internal const TextEncodingKind FirstTextEncodingKind = TextEncodingKind.EncodingUtf8;
32internal const TextEncodingKind LastTextEncodingKind = TextEncodingKind.EncodingUnicode_LE_BOM;
41public static Encoding GetEncoding(this TextEncodingKind kind)
44TextEncodingKind.EncodingUtf8 => s_encodingUtf8,
45TextEncodingKind.EncodingUtf8_BOM => Encoding.UTF8,
46TextEncodingKind.EncodingUtf32_BE => s_encodingUtf32_BE,
47TextEncodingKind.EncodingUtf32_BE_BOM => s_encodingUtf32_BE_BOM,
48TextEncodingKind.EncodingUtf32_LE => s_encodingUtf32_LE,
49TextEncodingKind.EncodingUtf32_LE_BOM => Encoding.UTF32,
50TextEncodingKind.EncodingUnicode_BE => s_encodingUnicode_BE,
51TextEncodingKind.EncodingUnicode_BE_BOM => Encoding.BigEndianUnicode,
52TextEncodingKind.EncodingUnicode_LE => s_encodingUnicode_LE,
53TextEncodingKind.EncodingUnicode_LE_BOM => Encoding.Unicode,
57public static bool TryGetEncodingKind(this Encoding encoding, out TextEncodingKind kind)
63kind = (encoding.Equals(Encoding.Unicode) || HasPreamble(encoding)) ? TextEncodingKind.EncodingUnicode_LE_BOM : TextEncodingKind.EncodingUnicode_LE;
68kind = (encoding.Equals(Encoding.BigEndianUnicode) || HasPreamble(encoding)) ? TextEncodingKind.EncodingUnicode_BE_BOM : TextEncodingKind.EncodingUnicode_BE;
73kind = (encoding.Equals(Encoding.UTF32) || HasPreamble(encoding)) ? TextEncodingKind.EncodingUtf32_LE_BOM : TextEncodingKind.EncodingUtf32_LE;
78kind = (encoding.Equals(Encoding.UTF32) || HasPreamble(encoding)) ? TextEncodingKind.EncodingUtf32_BE_BOM : TextEncodingKind.EncodingUtf32_BE;
83kind = (encoding.Equals(Encoding.UTF8) || HasPreamble(encoding)) ? TextEncodingKind.EncodingUtf8_BOM : TextEncodingKind.EncodingUtf8;