【问题标题】:SMPP-GSM data encodingSMPP-GSM数据编码
【发布时间】:2012-12-02 12:29:38
【问题描述】:

假设我们有一个 ESME 与 SMSC 通信并且 SMSC 与 一个移动台。如果短信中包含需要 转义然后将使用 ESC (0x1B) 符号。但是,我认为 ESC 是 GSM 字母表中的控制字符,因此 Latin-1 将用于编码。 (根据 SMPP v3.4 规范第 8 页)。 进一步假设可用 从 SMSC 到移动台的编码是 GSM 默认字母表。这有没有可能 解释 ESME 以 Latin-1 编码的转义字符 (ESC) ? 简而言之,在转义 GSM ESME 中的短信字符时,是否会出现任何可能被 SMSC 或移动台误解的奇怪字符?

【问题讨论】:

    标签: mobile encoding gsm smpp


    【解决方案1】:

    您需要使用的编码很大程度上取决于使用的 data_coding 值。假设您使用 data_coding=0 表示“默认字母”,那么仍然取决于 SMSC 的“默认字母”是哪个。

    例如,有些 SMSC 将 Latin1 作为字符集运行,但是不属于 GSM 默认字母表的字符需要转义。

    首先,您需要确定 SMSC 的默认字符集(更好的 SMPP 组件)。 0x1b 序列基本上和Latin1 没有任何关系。如果您的 SMSC 正在运行 GSM,并且您想发送一个 € 符号,您可以在 submit_sm 操作的 short_message 字段中发送 0x1b0x65 作为字节序列。

    最后,如果您的 SMSC 使用的是 GSM 而 ESME 使用的是 Latin1,那么可能会出现奇怪的字符,因为 GSM 有例如不属于 Latin1 的希腊字符。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-27
      • 1970-01-01
      • 2022-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多