美好的一天,Java和未簽名字節
不好意思問這樣一個常見的問題,但我一直在使用Google和閱讀,我仍然沒有得到正確的答案。我需要使用無符號字節數組。我需要通過網絡發送某些字符到服務器的一些字符是大於127
我的代碼的簡化版本,下面,試圖理解這個概念:
int i= 160;
byte j = (byte) i;
System.out.println((byte)i);
System.out.println(j);
和這給出的輸出: -96
-96
我需要打印160的服務器要求160一個字節,如果它接收到-96它不接受該值。 我之所以用int是因爲當我在閱讀如何解決問題時,我經常遇到只使用int的建議,但我不太明白,因爲我需要我的數組是類型字節..
這是我的代碼的一部分,其中i陣列發送:
public boolean send(byte[] data) {
try {
out.write(data); // Write the data to the outStream
out.flush();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return false; // Return false if the TCP Transmit failed
// }
return false;
}
我真的很感激,如果有人可以幫助我。
如果我遺漏了任何重要信息,請讓我知道。
是否要通過非二進制安全的介質發送二進制數據?如果是這樣的話,你可以使用:http://en.wikipedia.org/wiki/Base64 – NullUserException 2013-02-25 18:16:40