/
githubmirror
/
roslyn
Обзор
Документация
Войти
/
githubmirror
/
roslyn
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/Test/PdbUtilities/Shared/StringUtilities.cs
48 строк
1 KB
Jared Parsons
generated move
28 сен 2020, 19:36
28 сен 2020, 19:36
1cca63b
Код
Авторство
О чём код?
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. #nullable disable using System.Globalization; using System.Text; namespace Roslyn.Test { internal static class StringUtilities { internal static string EscapeNonPrintableCharacters(string str) { StringBuilder sb = new StringBuilder(); foreach (char c in str) { bool escape; switch (CharUnicodeInfo.GetUnicodeCategory(c)) { case UnicodeCategory.Control: case UnicodeCategory.OtherNotAssigned: case UnicodeCategory.ParagraphSeparator: case UnicodeCategory.Surrogate: escape = true; break; default: escape = c >= 0xFFFC; break; } if (escape) { sb.AppendFormat("\\u{0:X4}", (int)c); } else { sb.Append(c); } } return sb.ToString(); } } }