java裏一個byte取值範圍是-128~127, 而C#裏一個byte是0~255.java
首位不一樣. 可是底層I/O存儲的數據是同樣的,c#
好比, 十進制的100, 轉換成java或者c#的byte, 都是1100110.socket
可是, 使用java的getBytes()方法, 獲得的是負數,即: -100110編碼
使用C#的getBytes(),獲得的是正數.1100110.spa
這在底層socket傳輸應該注意.get
另外, java底層socket傳輸應注意, 不要使用Reader/Writer而是使用Stream.it
由於Reader/Writer是基於字符流的,會在發送數據以前將數據按照字符的格式(好比UTF8編碼)預處理,致使亂碼問題.而Stream是基於字節流的,不會影響數據.class