java和C#裏byte的取值範圍

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

相關文章
相關標籤/搜索