Delphi   发布时间:2022-04-10  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了delphi – 当我对SMS PDU(GSM 7 Bit)用户数据进行编码/解码时,我是否需要先添加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.

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

大佬总结

以上是大佬教程为你收集整理的delphi – 当我对SMS PDU(GSM 7 Bit)用户数据进行编码/解码时,我是否需要先添加UDH?全部内容,希望文章能够帮你解决delphi – 当我对SMS PDU(GSM 7 Bit)用户数据进行编码/解码时,我是否需要先添加UDH?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。