2013-10-01 39 views
0

我正在從藍牙項目中將文件從一個Android設備發送到另一個設備。在服務器端,我獲取文件和數據。但寫入文件的數據是字節格式。我想在文件中寫入原文。像toString(),new String(byte [])等方法不起作用。請任何人都可以幫助我。我已經嘗試了幾乎所有在這個網站上給出的代碼,作爲對這些問題的回答。無法將字節數組轉換爲原始文本

在此先感謝。

+1

你已經嘗試'的toString()'和'新的字符串(字節[])'和你說其沒有工作,所以你是什麼意思「不工作」,那麼究竟發生了什麼? –

回答

0

proper conversionbyte[]String之間的關係是明確聲明您要使用的編碼。如果您從byte[]開始,並且實際上不包含文本數據,則沒有正確的轉換。 Strings用於文本,byte[]用於二進制數據,唯一真正合理的做法是避免在它們之間轉換,除非您絕對必須這樣做。

以字節組轉換爲字符串,最好的辦法是

public void convertByteArrayToString(Charset encoding) { 

    byte[] byteArray = new byte[] {10, 20, 30, 40, 50, 60}; 

    String value = new String(byteArray, encoding); 

    System.out.println(value); 
} 
相關問題