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


Автор: Stream86 24.12.2006, 23:49
Чёто странное при выводе кодов русских букв, они аж за 1000 получаются в ASCII таблице
Код

char x='A';
textBox1.Text=Convert.ToString((int)x);

А я то думаю, чё у меня дес неправильно кодирует.

Автор: mr.DUDA 25.12.2006, 00:41
Ничего странного, кодировка ведь Unicode  smile 

Автор: Stream86 25.12.2006, 00:55
Как с этим бороться? Кодировку как-то можна сменить? Я не вижу где.

Автор: Naum 25.12.2006, 10:36
Код

System.Text.Encoding.ASCII.GetBytes(x);

Автор: CyraxZ 26.10.2007, 22:34
Цитата

System.Text.Encoding.ASCII.GetBytes(x);

1. Если скормить строку, то для каждого русского символа получаем byte 63. Замечательная логика.
2. Получаем 7-битный код, а нужно 8-битный cp1251-код.

Может, всё-таки, кто-нибудь не поленится написать пару строк нормального кода для получения однобайтового cp1251-кода русского символа из Unicode-кода.

Код

private static GetCP1251FromUnicode(char unicodeChar)
{
     byte cp1251Byte;
     
     ???

     return cp1251Byte;
}

Автор: stab 28.10.2007, 08:19
CyraxZ, да пожалуйста:

Код

private void Form1_Load(object sender, EventArgs e)
{
    Encoding ansiCyrillic = Encoding.GetEncoding(1251);
    byte[] learnAlbanianBytes = ansiCyrillic.GetBytes("учи албанский!");
    Text = ansiCyrillic.GetString(learnAlbanianBytes);
}


В ASCII кодировке вообще нет русских букв, чему вы удивляетесь. То что многие называют ASCII, на самом деле есть ANSI 1252 кодировка. Есть вариант ASCII8 знакомый многим со времён DOS,  например там были символы для рисования рамок, но русского там никогда не было. Сложности они все в голове ;)

Автор: CyraxZ 28.10.2007, 12:04
Спасибо. А то замучался без MSDN-ки (не запускается - глюки с системными dll-ками)...

По поводу ASCII. Я и имел ввиду расширенную страницу с кириллицей.
Цитата

Сложности они все в голове ;)

...и в языке. Факт, никуда не денешься...

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