0
시뮬레이션 된 통화 기록을 수신자에게 보낼 수있는 소켓 기반 클라이언트를 만들려고합니다. 소켓 클라이언트가 완료되었으므로 페이로드 생성기를 사용해야합니다. 통화 기록은 다음과 같습니다Python - 길고 고정 길이의 유효한 바이트 문자열을 생성하는 방법은 무엇입니까?
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.
난 그냥 올바른 방향으로 찔러에 필요 이 C하게 모든 레코드 생성기.
감사합니다. 당신은뿐만 아니라 디코딩하는 방법을 추가 할 수 있습니다
def encode(timestamp=0, ...):
return '%-*s...' % 4, timestamp, ...
가장 쉬운 방법은 아마 인코딩 방법입니다