我有一個文件中的二進制數據,我可以讀入一個字節數組和進程沒有問題。現在我需要通過網絡連接發送部分數據作爲XML文檔中的元素。我的問題是,當我將數據從一個字節數組轉換爲一個字符串並返回到一個字節數組時,數據被損壞。我已經在一臺機器上測試了這個問題,以便將問題與字符串轉換隔離開來,所以我現在知道它不會被XML解析器或網絡傳輸損壞。如何將二進制數據轉換爲字符串並返回到Java?
我有什麼,現在是
byte[] buffer = ...; // read from file
// a few lines that prove I can process the data successfully
String element = new String(buffer);
byte[] newBuffer = element.getBytes();
// a few lines that try to process newBuffer and fail because it is not the same data anymore
有誰知道如何轉換成二進制爲String和背部無數據丟失?
已經回答:謝謝薩姆。我覺得自己像個白癡。昨天我回答了這個問題,因爲我的SAX解析器在抱怨。出於某種原因,當我遇到這個看似單獨的問題時,我不會想到這是同樣問題的新症狀。
編輯:只是爲了完整起見,我使用Apache CommonsCodec包中的Base64類來解決這個問題。