【发布时间】:2013-07-31 14:41:43
【问题描述】:
我正在接收来自 GSM 调制解调器的 PDU 格式的短信; TP 用户数据是“C8329BFD06DDDF72363904”
我得到的是:“�2����r69”,而发送的短信是“Hello World!”。
这是我的java代码:
private String fromPDUText(String PDUSMSText) {
String endoding = PDUSMSText.substring(0, 2);
PDUSMSText = PDUSMSText.substring(18);
byte bs[] = new byte[PDUSMSText.length() / 2];
for(int i = 0; i < PDUSMSText.length(); i += 2) {
bs[i / 2] = (byte) Integer.parseInt(PDUSMSText.substring(i, i + 2), 16);
}
try {
String out = new String(bs, "ASCII");
} catch(UnsupportedEncodingException e) {
e.printStackTrace();
return "";
} finally {
return out;
}
}
【问题讨论】:
-
你解决过这个问题吗?我正在寻找类似的困境。我已经尝试了以下示例之一,但仍然得到垃圾。不知道为什么!