Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Кодировка в TextBox


Автор: Fedor 27.10.2008, 01:50
Вопрос: есть текст, введенный в текстбокс. Текст русский. Например, "Привет"
Можно ли как-то (и как?) перевести этот текст (насколько я понимаю, UTF16) в обычную аскишную кодировку (как в досе) чтоб русские символы имели те "маленькие" значения (не помню точно диапазон).

Поиск показал
http://forum.vingrad.ru/topic-95920.html - там ответа так и нету
http://www.gotdotnet.ru/Forums/Common/132538.aspx
Код

public static string Convert(string value, Encoding src, Encoding trg)
{
   Decoder dec = src.GetDecoder();
   byte[] ba = trg.GetBytes(value);
   int len = dec.GetCharCount(ba, 0, ba.Length);
   char[] ca = new char[len];
   dec.GetChars(ba, 0, ba.Length, ca, 0);
   return new string(ca);
}

но так и не понял какие параметры нужно туда передавать чтоб сконвертировать нужные мне кодировки. Вернее, какой последний параметр?
типа такого
Код

text = Convert(text, Encoding.Unicode, Encoding.GetEncoding(1251));

Или какие другие методы?

Спс.

Автор: MasterOfCode 27.10.2008, 07:32
Код

byte[] UTF16Bytes = Encoding.GetEncoding("UTF16").GetBytes(string yourString);
string DOSString = Encoding.GetEncoding(866).GetString(UTF16Bytes);

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