2011-08-08 113 views
0

由於Java字節是有符號值,我試圖建立一個TCP套接字連接與期待字節未簽名的C#程序。Java - 通過TCP連接發送無符號字節

我無法更改C#部分上的代碼。

我該如何去使用Java以正確的格式發送這些字節。

感謝

回答

7

沒有,Java的字節是簽署值。通常C#字節是無符號的。 (你會需要sbyte型指符號字節;我不記得我最後一次使用sbyte。)

但是,它不應該在所有問題在跨網傳輸數據方面 - 正常您只需發送任何二進制數據(例如,您從文件中讀取的內容),雙方都會做正確的事情。 Java端的值爲-1的字節將作爲C#端的值爲255的字節出現。

如果你能告訴我們更多關於正是你正在試圖做的(數據是什麼),我們也許能夠幫助更多的,但我強烈懷疑,你可以不理會在這種情況下,有什麼區別。

1

沒關係。這些數字只是一些比特串,而且它們是有符號的還是無符號的並不重要。而且這些位被轉移,因此所有簽名/未簽名的信息都是不相關的。

1100101010101111仍然1100101010101111不管符號/無符號。

相關問題