0

我有 smpp 与 SMSC 提供商的直接连接,当我发送带有字符集 iso88591 的长英文消息时遇到问题,移动设备仅以 134 个字符接收它,尽管我在使用正确的 UDH 发送到每个部分之前将消息分成几个部分.

因此,当我使用 charset 7bit 时,我遇到了一些问题,例如 @$ & 替换为问号,但长消息恢复完成并正确连接。

如何解决这个问题呢?

4

1 回答 1

2
  1. 从技术角度来看,SMS 本身是信令半双工信道中 1120 位长的固定大小位阵列。这可以解释为 160 个 7 位字符 (x 7 = 1120) 或 140 个八位字节 (x 8 = 1120) 或 70 个 UCS2 (x 16 = 1120)。如果您使用消息连接,可用容量会减少 UDH 标头的大小。

  2. GSM 网络中的默认字母遵循 GSM 3.38 标准(正如我在对另一个问题的评论中已经写给你的那样)。

  3. 我所遇到的情况是,GSM 网络对英文文本使用 7 位编码,对另一种语言使用 UCS2,而 8 位编码仅用于二进制数据,例如用于 GSM 银行中的加密数据包等......

  4. 对于英文文本,我们一直使用带有翻译 ASCII 7 <-> GSM 3.38 的 7 位编码,我认为这是正确的做法。

  5. 但我们从未在中间使用过一些第 3 方软件:我们一直使用现场使用的少数协议之一直接与 SMSC 对话。

于 2013-08-31T10:18:45.997 回答