2012-03-14 23 views
0

我想通過SMS發送公鑰。通過短信發送字節[]。轉換iso-8859-1

String message = new String(ByteArray, "iso-8859-1"); 

公鑰看起來是這樣的(發送時):

0I0 *†^ h†÷8 05

到目前爲止,我使用的byte []轉換爲String 。:Y &¯GìL5VØÞ<£ÂßÄ'Q•4YŸßEW8‰³S>‰_ó4aÀ」 [U U

但收件人收到米消息如下:

0I0 *?H? 8 05。:y &?GìL5VØ? <£甲?SSA Q + 4Y?ß?EW8 ?? S 13 _ o4aA?[U U

中的某些字符被被損壞並替換爲 「?」手機無法識別它們。

問題: 有沒有辦法將「iso-8859-1」轉換爲字母和數字? 如果沒有人有任何其他想法? (也許是另一種類型的編碼?)

如果您想了解更多詳細信息,請發表評論,謝謝。

回答

3

您不能將純二進制數據轉換爲像這樣的字符串,因爲所有字節都不代表有效字符。使用base-64將您的字節數組轉換爲可讀的ascii字符串。 Apache Commons編解碼器有一個免費的實現。

+0

謝謝我會研究base-64 – 2012-03-14 22:44:48