短信息PDU编码和解码,包括GSM-0338字符集

smspdu的Python项目详细描述


短信息PDU编码和解码,包括GSM-0338字符集。

概述

这个库处理sms-deliver和sms-submit格式的pdu,包括 完全支持所有数据格式、标志和标题以及 PDU来反对然后再回来。

它还包括从文本或 数据。

这个图书馆已经很成熟了,已经投入生产使用很多年了 在1.0发布之前。据我所知,这也是 完整的短信PDU编码和解码库可用。

t39功能是从上一个pypi包复制的 与此库同名以提供一些连续性。它未经测试。

PDU接口

典型用法包括sms_submit和sms_deliver.frompdu(), .topdu()和.create()方法:

>>> from smspdu import SMS_SUBMIT
>>> pdu = SMS_SUBMIT.create('sender', 'recipient', 'hello, world')
>>> pdu.toPDU()
'010010D0F2F2380D4F97DD7400000CE8329BFD6681EE6F399B0C'
>>> pdu = smspdu.SMS_SUBMIT.fromPDU(_, 'sender')
>>> pdu.user_data
u'hello, world'

命令行用法

要在命令行上解码PDU(使用python2.7+),请使用:

% python -m smspdu 010010D0F2F2380D4F97DD7400000CE8329BFD6681EE6F399B0C

010010D0F2F2380D4F97DD7400000CE8329BFD6681EE6F399B0C
tp_mti = 1 (SMS-SUBMIT)
sender = unknown
tp_rd = 0
tp_vpf = 0
tp_vp = None
tp_rp = 0
tp_udhi = 0
tp_srr = 0
tp_mr = 0
tp_al = 16
tp_toa = d0 (Alphanumeric; Unknown)
(recipient) address = 'recipient'
tp_pid = 0x00 (Normal Case)
tp_dcs = 0x00 (Immedate Display, GSM-0338 Default Alphabet)
tp_udl = 12
tp_ud = '\xe82\x9b\xfdf\x81\xeeo9\x9b\x0c'
datestamp = 11062712173200
user_data = u'hello, world'
user_data_headers = []

第一行重新显示PDU,并将各个部分着色。

python 2.6版本的用户需要运行“python-m smspdu.pdu”。

短信-处理GSM 0338的令人敬畏的内容

首先是基础知识;编码一些文本:

>>> from smspdu import gsm0338
>>> c = gsm0338()
>>> gsm_message = c.encode(u'test message')

并解码该消息:

>>> from smspdu import gsm0338
>>> c = gsm0338()
>>> c.decode(gsm_message)
u'test message'

该库还提供了一些功能,使文字短信更受欢迎:

gsm0338安全
一个简单的函数,它只替换unicode中的任何字符 输入。您可能应该使用尝试编码,因为它 尝试使消息显示相同。
尝试编码
尝试在单个 信息。这将更改消息以替换重音和排版 必要时减少每个字符的间隔数。
删除重音
尝试编码使用,以删除中字符的所有重音 提供的文本。
删除字体
尝试编码使用以替换拼写正确的 带有简化GSM-0338字符的标点符号。
解码ascii安全
删除字符串中所有不可打印的非ascii代码。
smpp_to_sms_数据编码
尝试将smpp数据编码方案(smpp v34)转换为有用的 短信息PDU(GSM 03.38)数据编码方案。

版本历史(简略)

  • 1.0初始版本基于成熟的内部ekit.com代码

此代码版权所有2011 ekit.com inc(http://www.ekit.com/) 有关使用许可证,请参见源文件的末尾。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java检测EditText中的换行符   java将JSON字符串序列化为对象   是否使用JVM参数覆盖日志级别(java.util.logging)?   对Kotlin/JAVA的XML SimpleFramework解析   java如何解决时区有冒号时的解析异常?   本地和远程无状态bean的java jndi绑定   java NamedParameterJdbcTemplate+TomCat,打开和关闭数据库连接   java如何使JLabel不影响GridBagLayout中其他元素的大小   Java分组图像   如何在单个cmd窗口中使用java运行时执行cd命令   java Hadoop hdfs显示ls:`/home/hduser/input/':没有这样的文件或目录错误   java使用多线程将文件发送到ftp服务器   EclipseJava。AST方法解析中的lang.IllegalArgumentException   ApacheJMeterJava编码。如何获取输出数据?   jar java命令类路径问题   Android出现异常:java。HttpResponse get请求上的lang.IllegalStateException