当前位置: 代码迷 >> 移动应用 >> 在10a上短信拦截,遇到编码有关问题,怎么知道当前短信是ascii,还是unicode
  详细解决方案

在10a上短信拦截,遇到编码有关问题,怎么知道当前短信是ascii,还是unicode

热度:1000   发布时间:2016-04-25 08:31:35.0
在10a上短信拦截,遇到编码问题,如何知道当前短信是ascii,还是unicode?
在10a上短信拦截,遇到编码问题,如何知道当前短信是ascii,还是unicode?
可能这个标志变量存在以下结构体里,但是不明白各个变量的具体含义,求教了。。。。
typedef struct
{
  kal_uint8 reply_flag; /* whether reply is sought*/
  kal_uint8 udh_p; /* indicates presence of
  user data header*/
  kal_uint8 status_rep_flag; /* whether status reports
  are sought*/
  kal_uint8 fill_bits; /* to be ignored*/
  kal_uint8 mms; /* more message to send*/
  kal_uint8 msg_type; /* sms deliver*/
  kal_uint8 no_orig_addr;
  kal_uint8 orig_addr_size; /* the max size of *orig_addr in octet*/
  kal_uint8 *orig_addr; /* assumed to be
  byte-packed*/
  kal_uint8 pid; /* to be bit-wise decoded*/
  kal_uint8 dcs; /* to be bit-wise decoded*/
  kal_uint8 scts[7];
  kal_uint8 user_data_len;
  kal_uint8 no_user_data; /* 7-bit to octet */
  kal_uint8 user_data_size; /* the max size of *user_data in octet*/
  kal_uint8 *user_data; /* can have user data header also*/
} smslib_deliver_peer_struct;

是不是存在dcs里?

------解决方案--------------------
是的, dcs是00表示压缩英文,为04表示数据,为08表示ucs2。

短信内部是这么用的。
  相关解决方案