加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 当我对SMS PDU(GSM 7 Bit)用户数据进行编码/解码时,我

发布时间:2020-12-15 04:03:46 所属栏目:大数据 来源:网络整理
导读:虽然当UDH不存在时我可以成功编码和解码SMS消息的用户数据部分,但是当存在UDH时(在这种情况下,对于连接的SMS),我很难这样做. 当我解码或编码用户数据时,我是否需要在执行此操作之前将UDH添加到文本中? 本文提供了一个编码例程示例,用于补偿带有填充位的UDH(
虽然当UDH不存在时我可以成功编码和解码SMS消息的用户数据部分,但是当存在UDH时(在这种情况下,对于连接的SMS),我很难这样做.

当我解码或编码用户数据时,我是否需要在执行此操作之前将UDH添加到文本中?

本文提供了一个编码例程示例,用于补偿带有填充位的UDH(我仍然不完全理解),但它没有给出传递给例程的数据的示例,因此我没有明确的用例(我在网站上找不到解码样本):
http://mobiletidings.com/2009/07/06/how-to-pack-gsm7-into-septets/.

到目前为止,如果我在解码之前将UDH添加到用户数据中,我已经能够获得一些结果,但我怀疑这只是一个巧合.

作为示例(使用https://en.wikipedia.org/wiki/Concatenated_SMS中的值):

UDH := '050003000302';
ENCODED_USER_DATA_PART := 'D06536FB0DBABFE56C32'; // with padding,evidently
DecodedUserData := Decode7Bit(UDH + ENCODED_USER_DATA_PART);
Writeln(DecodedUserData);

输出:“?@???@ hello world”

EncodedUserData := Encode7Bit(DecodedUserData);
DecodedUserData := Decode7Bit(EncodedEncodedUserData);
Writeln(DecodedUserData);

相同的输出:“?@???@ hello world”

没有预先设置UDH,我得到了垃圾:

DecodedUserData := Decode7Bit(ENCODED_USER_DATA_PART);
Writeln(DecodedUserData);

输出:“PKYY§An§eYI”

处理这个问题的正确方法是什么?

在编码用户数据时,我是否应该在文本中包含UDH?

我是否应该在解码后剥离垃圾字符,或者我(我怀疑)完全脱离这个假设?

虽然这里的解码算法似乎没有UDH,但它似乎没有考虑任何UDH信息:
Looking for GSM 7bit encode/decode algorithm.

如果有人可以让我按照正确的方式继续前进,我将永远感激不尽.非常感谢任何明确的示例/代码示例.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读