Я читал похожие посты по этому вопросу, и они не отвечают на мой вопрос.
В C # у меня есть строка, которую я получаю из WebClient.DownloadString. Я попытался установить client.Encoding в новое UTF8Encoding (false), но это не имело никакого значения - я все равно получаю метку порядка байтов для UTF-8 в начале строки результата. Мне нужно удалить это (чтобы проанализировать полученный XML с помощью LINQ) и сделать это в памяти.
Итак, у меня есть строка, которая начинается с \ x00EF \ x00BB \ x00BF, и я хочу удалить ее, если она существует. Прямо сейчас я использую
if (xml.StartsWith(ByteOrderMarkUtf8))
{
xml = xml.Remove(0, ByteOrderMarkUtf8.Length);
}
но это просто неправильно. Я пробовал все виды кода с потоками, GetBytes и кодировками, и ничего не работает. Может ли кто-нибудь предоставить «правильный» алгоритм для удаления спецификации из строки?
Спасибо!