6

SMPP协议中的“data_coding”字段是什么意思?

我搜索了这个,但找不到任何有用的资源。

4

3 回答 3

22

简而言之,数据编码包含有关如何对 smpp SubmitSM(即典型的 SMS 消息)消息中的文本进行编码的信息。SubmitSM 数据包包含一个二进制编码的正文,dataCoding 是文本在此正文中的存储方式。

最重要的价值观是:

  • 00000000 (0) - 通常是GSM7(消息的默认 7 位编码,有几个字符被编码为两个字节),但从技术上讲可能是别的东西
  • 00000011 (3) 用于标准 ISO-8859-1
  • 00001000 (8) 用于通用字符集——事实上的 UTF-16

其他可能的值(很少使用):

  • 00000001 - IA5_CCITT_T_50_ASCII_ANSI_X3_4
  • 00000010 - OCTET_UNSPECIFIED_8BIT_BINARY_1
  • 00000100 - OCTET_UNSPECIFIED_8BIT_BINARY_2
  • 00000101 - JIS_X_02081990
  • 00000110 - CYRLLIC_ISO88595
  • 00000111 - LATIN_HEBREW_ISO88598
  • 00001001 - PICTOGRAM_ENCODING
  • 00001010 - ISO2022JP_MUSIC_CODES
  • 00001101 - EXTENDED_KANJI_JISX_02121990
  • 00001110 - KS_C_5601

还有两个留作特殊用途:

  • 00001011 - 保留 #1
  • 00001100 - 保留 #2

简而言之,如果您的二进制正文是 unicode (UTF-16),您将 dataCoding 设置为 8。如果您的消息存储为 GSM7,那么它将(通常)为 0。

于 2012-08-16T12:11:11.893 回答
0

这意味着文本如何转换为字节,因为 SMPP 是二进制协议,但应用程序通常处理文本字符串。谷歌第一次点击“smpp 数据编码”很好地解释了它http://sourceforge.net/apps/trac/smstools/raw-attachment/wiki/MiscWikiFiles/smppv34_gsmumts_ig_v10.pdf在第 2.2.2 节中。

于 2012-08-16T10:23:22.220 回答
0

这绝对有帮助: ETSI GSM 03.38 Specification

于 2012-08-16T19:56:47.973 回答