Python论坛  - 讨论区

标题:[python-chinese] PDU编码解码的数据结构

2006年01月10日 星期二 23:29

Liu Jun gz19990909 at 163.com
Tue Jan 10 23:29:41 HKT 2006

各位好!
我正在用python编写一个短信PDU的编码解码的小程序。有一个问题就是,对于这 
种有固定格式的字符串进行解码或编码时,用什么数据类型比较好(方便)。用 
类?用list?还是用自定义类型?(python有自定义类型吗?)

比如说有一个字符串如下:
0891683108200005F0040D91683129069236F80008502103313281000C4F6051E070B94E0B73ED5440 


它的前9个byte为固定的信元头,然后第10~12个byte为信元的长度,第13~14个 
byte为目的地址。。。等等。

Regards
J



[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年01月11日 星期三 08:30

limodou limodou at gmail.com
Wed Jan 11 08:30:37 HKT 2006

2006/1/10, Liu Jun <gz19990909 at 163.com>:
>
> 各位好!
> 我正在用python编写一个短信PDU的编码解码的小程序。有一个问题就是,对于这
> 种有固定格式的字符串进行解码或编码时,用什么数据类型比较好(方便)。用
> 类?用list?还是用自定义类型?(python有自定义类型吗?)
>
> 比如说有一个字符串如下:
> 0891683108200005F0040D91683129069236F80008502103313281000C4F6051E070B94E0B73ED5440
>
>
> 它的前9个byte为固定的信元头,然后第10~12个byte为信元的长度,第13~14个
> byte为目的地址。。。等等。
>

可以使用struct模块进行组包和解包,这样可以都使用字符串来保存,存放在比如字典或对象中。

--
I like python!
My Blog: http://www.donews.net/limodou
NewEdit Maillist: http://groups.google.com/group/NewEdit

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年01月11日 星期三 09:10

Xie Yanbo xieyanbo at gmail.com
Wed Jan 11 09:10:18 HKT 2006

On 1/11/06, limodou <limodou at gmail.com> wrote:
> 2006/1/10, Liu Jun <gz19990909 at 163.com>:
> >
> > 各位好!
> > 我正在用python编写一个短信PDU的编码解码的小程序。有一个问题就是,对于这
> > 种有固定格式的字符串进行解码或编码时,用什么数据类型比较好(方便)。用
> > 类?用list?还是用自定义类型?(python有自定义类型吗?)
> >
> > 比如说有一个字符串如下:
> > 0891683108200005F0040D91683129069236F80008502103313281000C4F6051E070B94E0B73ED5440
> >
> >
> > 它的前9个byte为固定的信元头,然后第10~12个byte为信元的长度,第13~14个
> > byte为目的地址。。。等等。
> >
>
> 可以使用struct模块进行组包和解包,这样可以都使用字符串来保存,存放在比如字典或对象中。

Liu Jun,在早先作的compass里,使用了很多struct来编码/解码数据报文;
只不过你的报文都是ASCII码字符,有些数据项还得在解开包之后用int()函数转成
数字。你可以参考一下:
http://cvs.woodpecker.org.cn/svn/woodpecker/compass/trunk/
或者你自己去找最新的代码 ;-)

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年01月12日 星期四 09:38

Liu Jun gz19990909 at 163.com
Thu Jan 12 09:38:48 HKT 2006

谢谢limodou和Xie Yanbo!

我先试一下:)

Xie Yanbo 写道:

>On 1/11/06, limodou <limodou at gmail.com> wrote:
>  
>
>>2006/1/10, Liu Jun <gz19990909 at 163.com>:
>>    
>>
>>>各位好!
>>>我正在用python编写一个短信PDU的编码解码的小程序。有一个问题就是,对于这
>>>种有固定格式的字符串进行解码或编码时,用什么数据类型比较好(方便)。用
>>>类?用list?还是用自定义类型?(python有自定义类型吗?)
>>>
>>>比如说有一个字符串如下:
>>>0891683108200005F0040D91683129069236F80008502103313281000C4F6051E070B94E0B73ED5440
>>>
>>>
>>>它的前9个byte为固定的信元头,然后第10~12个byte为信元的长度,第13~14个
>>>byte为目的地址。。。等等。
>>>
>>>      
>>>
>>可以使用struct模块进行组包和解包,这样可以都使用字符串来保存,存放在比如字典或对象中。
>>    
>>
>
>Liu Jun,在早先作的compass里,使用了很多struct来编码/解码数据报文;
>只不过你的报文都是ASCII码字符,有些数据项还得在解开包之后用int()函数转成
>数字。你可以参考一下:
>http://cvs.woodpecker.org.cn/svn/woodpecker/compass/trunk/
>或者你自己去找最新的代码 ;-)
>  
>
>  
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060112/2eb54ed3/attachment.html

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号