這裏是Java新手。是否有任何幫助函數將數據序列化爲字節數組?我正在編寫一個實現網絡協議的Java包。所以我必須在循環中編寫一些典型的變量,如版本(1字節),序列號(長)和二進制數據(字節)。我如何在Java中做到這一點?來自C我想創建一個所需的大小的字節數組,然後因爲沒有memcpy()我將長轉換爲臨時字節數組,然後將其複製到實際的字節數組。看起來效率很低,也很容易出錯。有沒有我可以用來編組和解組參數到一個字節數組的類?Java和二進制數據在套接字環境下
爲什麼所有的Socket類只處理char []而不是byte []?定義一個套接字也必須處理二進制數據。這在Java中如何完成?
我相信我缺少的是Java的心態。欣賞它,如果有人能指給我。
編輯:我沒有看DataOutputStream和DataInputStream,但我不能將字節轉換爲字符串而不是字節[],這意味着信息可能在寫入套接字的轉換中丟失。
- 帕烏
請參閱上面的編輯 – user220201 2010-08-01 17:19:50
套接字是InputStreams&OutputStreams,您需要將DIS/DOS層疊在它們上面。另外,對於String和byte []之間的轉換,您需要在'new String()'或'String#getBytes()'中指定字符集,或使用Reader/Writer。 – 2010-08-02 08:26:03