通过短信发送数据[]。转换iso-8859-1

时间:2012-03-14 22:36:01

标签: java android sms

我正在尝试通过短信发送公钥。

到目前为止,我使用:

将byte []转换为String
String message = new String(ByteArray, "iso-8859-1");

公钥如下(发送时):

  

0I0   *†H†÷8 05。:y&¯GìL5VØÞ<ÂÄÄ'Q•4YŸßÈW8‰S>‰_ó4aÀ“[Ùu

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

  

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

某些字符被损坏并替换为“?”手机无法识别它们。

问题: 有没有办法将“iso-8859-1”转换为字母和数字? 如果不是,有没有人有任何其他想法? (也许是另一种编码?)

如果您想了解更多详情,请发表评论,谢谢。

1 个答案:

答案 0 :(得分:4)

您无法将纯二进制数据转换为此类字符串,因为所有字节都不代表有效字符。使用base-64将您的字节数组转换为可读的ascii字符串。 Apache commons编解码器有一个免费的实现。