Python - 如何生成长,固定长度的有效字节串?

时间:2014-10-15 22:53:52

标签: python generator bytestring

我试图创建一个基于套接字的客户端,它可以将模拟的呼叫记录发送给接收者。 套接字客户端已完成,现在我需要处理有效负载生成器。 通话记录如下所示:

CDR = b'173600009                   3052      334088888                   1001   0    #500 0         00000000 0          0    \r\n\x00\x00\x00'

计算每个空格,这意味着该字符串中的每个位都属于"字段" 空间只表示该特定字段没有数据。

我正在寻找一种合适的方式来生成这样的记录,但要使其足够简单,我可以为每个字段指定一系列值。

基本上:

timestamp = CDR[0:4]
call_party = CDR[12:18]

...等

然后像

for i in [list_of_call_party]:
  call_party = i

最后:

join( timestamp, call_party, etc), etc to create a new VALID record of the proper length.

我只需要在正确的方向上轻推即可制作此呼叫记录生成器。

谢谢!

1 个答案:

答案 0 :(得分:0)

最简单的方法可能是编码方法......

def encode(timestamp=0, ...):
    return '%-*s...' % 4, timestamp, ...

您也可以添加解码方法......

def decode(msg):
    return msg[0:4], ...