Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: System.Net.Soket Добавлено: 12.02.04 16:54  

Автор вопроса:  YuMih

Так посылаю сообщение -

writer = New System.IO.StreamWriter(TcpClient.GetStream)

writer.Write(msg & ControlChars.Cr)

Так принимаю -

Message = Encoding.ASCII.GetString(readBuffer, 0, BytesRead - 2)

Почему то русские символы не распознаются???

Ответить

  Ответы Всего ответов: 4  

Номер ответа: 1
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #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

Спасибо!

Получилось так -

Message = Encoding.GetEncoding(165001).GetString(readBuffer, 0, BytesRead - 2)

Ответить

Номер ответа: 3
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #3
Добавлено: 13.02.04 11:09
А если не секрет, что за кодировка с кодом 165001?

Ответить

Номер ответа: 4
Автор ответа:
 YuMih



Вопросов: 8
Ответов: 3
 Профиль | | #4 Добавлено: 16.02.04 10:13

Просто по ошибке написал вместо 65001!

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам