Итак,
У меня есть сервер C #, который нельзя изменить. В C # байт находится в диапазоне от 0 до 255, а в JAVA - от -128 до 127.
Я прочитал о проблеме с неподписанным байтом / ints / etc, и единственная реальная возможность, которую я обнаружил, состоит в том, чтобы использовать «больше памяти» для представления неподписанной вещи:
http://darksleep.com/player/JavaAndUnsignedTypes.html
Это правда?
Таким образом, имея сетевую связь между клиентом JAVA и сервером C #, клиент JAVA получает массивы байтов с сервера. Сервер отправляет их «как неподписанные», но при получении они будут интерпретироваться как подписанные байты, верно?
Должен ли я затем типизировать каждый байт в Int, а затем добавить 127 к каждому из них?
Я не уверен, что здесь ... но как мне интерпретировать его обратно в те же значения (int, строки и т. Д.), Которые были у меня на сервере C #?
Я нахожу всю эту ситуацию крайне запутанной (не говоря уже о проблемах с порядком байтов, но это для другого поста).
Любые советы и идеи будут великолепны.