Идентификатор пакета чтения из байта - PullRequest
1 голос
/ 02 февраля 2011

У меня есть пакет, который мне нужно отправить клиенту с идентификатором 255. У меня не было проблем с отправкой пакетов с идентификаторами 0, 1 и 2. Идентификатор должен быть 255. По некоторым причинам, после выполнения перевода и я, и мой сервер, и клиент получим «63» для любого идентификатора больше, чем 127.

Это код, который я использую:

Console.WriteLine(Asc(System.Text.ASCIIEncoding.ASCII.GetString(System.Text.ASCIIEncoding.ASCII.GetBytes(Chr("255")))))

Теперь, это слишком сложная версия того, что делает сервер. Вы можете считать это немного ненужным, но выполняемые обратные функции предназначены только для просмотра.

Там, где написано "255" - это идентификатор пакета, который мне нужно отправить в указанном выше формате. Как я уже сказал, все, что больше 127, возвращает «63». Очень раздражает.

Любая помощь приветствуется.

1 Ответ

0 голосов
/ 02 февраля 2011

Взято из здесь :

ASCIIEncoding соответствует кодовой странице Windows 20127. Поскольку ASCII является 7-битной кодировкой, символы ASCII ограничены самыми младшими 128 символами Юникодаот U + 0000 до U + 007F.

Таким образом, вы не можете использовать эту технику, потому что 255 не является допустимым символом ASCII.

...