Страница: 1 |
Так посылаю сообщение - writer.Write(msg & ControlChars.Cr) Так принимаю - Message = Encoding.ASCII.GetString(readBuffer, 0, BytesRead - 2) Почему то русские символы не распознаются???
Спасибо! Получилось так - Message = Encoding.GetEncoding(165001).GetString(readBuffer, 0, BytesRead - 2) Просто по ошибке написал вместо 65001! Страница: 1 |
Вопрос: System.Net.Soket
Добавлено: 12.02.04 16:54
Автор вопроса: YuMih
Ответы
Всего ответов: 4
Номер ответа: 1
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #1
Добавлено: 13.02.04 09:12
Message = Encoding.ASCII.GetString(readBuffer, 0, BytesRead - 2)
Здесь ты переводишь байтовый массив в строку, используя 7-битную
кодировку ASCII. Чтобы можно было работать с русскими символами, нужно
использовать другую кодировку. Кодировку по её номеру можно получить с
помощью метода Encoding.GetEncoding. Пример для Win-1251:
Message = Encoding.GetEncoding(1251).GetString(readBuffer, 0, BytesRead - 2)
Номер ответа: 2
Автор ответа:
YuMih
Вопросов: 8
Ответов: 3
Профиль | | #2
Добавлено: 13.02.04 10:10
Номер ответа: 3
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #3
Добавлено: 13.02.04 11:09
А если не секрет, что за кодировка с кодом 165001?
Номер ответа: 4
Автор ответа:
YuMih
Вопросов: 8
Ответов: 3
Профиль | | #4
Добавлено: 16.02.04 10:13