jSMPP から UniCode SMS を受信したいです。
Data Coding が 8 なら Unicode 記号に変換したい。
このために、HexUtil.convertBytesToHexString
関数を使用します。
しかし、それは正しく変換されません。この文字列を変換するにはどうすればよいですか?
@Override
public void onAcceptDeliverSm(DeliverSm arg0)
throws ProcessRequestException {
if (MessageType.SMSC_DEL_RECEIPT.containedIn(arg0.getEsmClass())) {
// Deliver SM
} else {
byte[] data = arg0.getShortMessage();
String text = null;
if (arg0.getShortMessage() != null) {
if (arg0.getDataCoding() == (byte) 8) {
text = HexUtil.convertBytesToHexString(data, 0,
data.length);
} else {
text = new String(data);
}
}
System.out.println("Text -> " + text);
}
}