Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > Убираем BOM из UTF-8


Автор: warcase 29.3.2009, 09:22
Здравствуйте. Есть код примерно следующего вида:
Код

        static void Main(string[] args)
        {
            StreamReader reader = new StreamReader(File.OpenRead("1.txt"), Encoding.UTF8);
            string s = reader.ReadToEnd();
            reader.Close();
            s = s.Replace('а', 'б'); // преобразования текста...
            StreamWriter writer = new StreamWriter(File.OpenWrite("1.txt"), Encoding.UTF8);
            writer.Write(s);
            writer.Close();
        }

Файл 1.txt, лежит в кодировке UTF-8 без BOM. Считывается - нормально. А, вот, StreamWriter записывает его с 3-мя байтами в начале файла (что во первых мешает в следующий раз, правильно считать файл, во вторых - оно мне не надо). Можно ли как-то от этого избавиться, не делая все в ручную (удаление первых 3 байтов при считывании / записи)?

Автор: mihryak 29.3.2009, 12:27
всё дело в http://forum.vingrad.ru/forum/topic-218756.html

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)