Я просто хочу использовать символ разделителя ASCII Unit (десятичный 31 и шестнадцатеричный 1F) вместо закладки для файла с разделителями. Я предполагаю, что проблема заключается в кодировании, но я уверен, что не могу найти, как ее изменить. В следующем, я получаю желаемый вывод на консоли в первой строке вывода в моем файле StreamWriter, но во второй строке отсутствует «\ x1f».Использование символа управления ( x1f) со строкой и/или StringBuilder
static StreamWriter sw = null;
static void Main(string[] args)
{
try
{
sw = new StreamWriter(OutFilename, false, Encoding.UTF8);
}
catch (Exception ex)
{
Console.WriteLine("File open error: " + ex.Message);
return;
}
// This works
Output("From▼To"); // Has a '\x1f' in it
// This does not work
StringBuilder sb = new StringBuilder();
sb.Append("From");
sb.Append('\x1f');
sb.Append("To");
Output(sb.ToString());
//
sw.Close();
}
static void Output(string s)
{
Console.WriteLine(s);
sw.WriteLine(s);
}
Выходной файл имеет:
From▼To
FromTo
Я хочу построить строку, используя StringBuilder, кроме как с '\ x1f' на выходе.
Вы уверены, что '▼' is '\ x1F'? потому что я получаю '\ x25BC' для этого символа, когда я проверяю массив, возвращаемый с' "From ▼ To" .ToCharArray() ' –
Попробуйте' \ u001f' и сообщите мне, если это работает. – FrankerZ
либо x1F, либо u001F не будут работать, поскольку они не являются печатными символами. Вам нужно найти другого персонажа, который можно использовать для представления этой стрелки. –