2012-03-14 20 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