Здравствуйте, SCS, Вы писали:
упс
вообще то чистый ASCII — это 7-ми битовая кодировка и русских букв там нет
замени везде выше Encoding.ASCII на
Encoding.GetEncoding(866) — если это DOS кодировка
Encoding.GetEncoding(1251) — если это Win кодировка
ну так вот надо переделать txt файл в ASCII формате в вордовский doc файл.
Если использовать вот это:
protected void Decode(FileStream inStream)
{
byte [] b = new Byte[inputStream.Length];
inStream.Read(b,0,(int)inputStream.Length);
inStream.Close();
char [] chars = new Char[b.Length];
//---------
ASCIIEncoding encod = new ASCIIEncoding();
encod.GetDecoder().GetChars(b,0, b.Length, chars, 0);
richTextBox1.AppendText(new String(chars));
}
То вместо всех русских символов выводиться "?", и притом в массиве b , после операции чтения из потока, коды всех русских символов равны 63, что действительно означает — "?". Так что подскажите как правильно прочитать символы из потока в массив байт, или как все это сделать другим способом.
Спасибо.
Здравствуйте, Аноним, Вы писали:
А>ну так вот надо переделать txt файл в ASCII формате в вордовский doc файл.
если не принципиально считывать массив байт:
StreamReader fs=new StreamReader(@"c:\temp\file.txt", Encoding.ASCII);
richTextBox1.AppendText(fs.ReadToEnd());
иначе
richTextBox1.AppendText(Encoding.ASCII.GetString(chars));