2012-07-31 11 views
1

문자열이 aa0a051c1400 인 경우 05 또는 1c의 압축을 풀면 어떻게 될까요? 나는 직렬 응답을 읽고 있는데,이 초기 데이터 패킷 이후 얼마나 많은 데이터가 파이프를 통해 내려 오는지를 해독하기 위해 16 진수 데이터 조각을 검사해야합니다.16 진수로 인코딩 된 문자열 부분 추출

+0

패턴이란 무엇입니까? 나는 당신이 이것을 위해 정규식을 사용할 것이라고 생각한다. 'import re' –

+0

항상 '05'와 '1c'를 찾고 싶습니까? 아니면 문자열에서 그 위치가 중요합니까? 당신이 원하는 것이 분명하지 않습니다. – jordanm

+0

은 ASCII 문자열 "aa0a051c1400"또는 이진 문자열 "\ xaa \ x0a \ x05 \ x1c \ x14 \ x00"을 입력 한 데이터입니다. – TJD

답변

1

색인을 기준으로 문자열을 구문 분석하면 정상적으로 작동합니다. 문자 인덱스로 구문 분석하려는 경우 :

from binascii import hexlify, unhexlify 

def get_hex(stream, idx): 
    return hexlify(unhexlify(stream)[idx]) 

get_hex('aa0a051c1400', 0) 
'aa'