01-21-2012, 07:18 AM
Столкнулся я с такой проблемой. Пишу клиент-серверное приложение. Клиент - на сишарпе, сервер - на джаве. Есть функция, меняющая значения байтов в массиве. На шарпе:
После чего, из полученных байтов генерируется строка и отсылается серверу. Сервер же должен произвести обратную функцию и восстановить исходный текст.
Но, видимо, из-за того, что на шарпе байты беззнаковые, а на джаве знаковые - строка дешифруется неверно.
Подскажите как здесь быть.
Код:
System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
byte[] bytes = encoding.GetBytes("line");
for (int i = 0; i < bytes.Length; i++)
{
bytes[i] += (byte) (234 / (2 + i));
Console.WriteLine(bytes[i]);
}
return encoding.GetString(bytes);
После чего, из полученных байтов генерируется строка и отсылается серверу. Сервер же должен произвести обратную функцию и восстановить исходный текст.
Код:
byte[] bytes = data.getBytes();
for(int i = 0; i < bytes.length; i++)
{
bytes[i] -= (234 / (2 + i));
}
return new String(bytes);
Но, видимо, из-за того, что на шарпе байты беззнаковые, а на джаве знаковые - строка дешифруется неверно.
Подскажите как здесь быть.