2014-12-05 8 views
0

다음과 같은 문자열 구문 분석 문제가 있습니다. 엔디안과 같은 문자열이 주어지면 MAC 주소 형식의 문자열을 출력합니다. 예 :빅 엔디안을 나타내는 문자열을 MAC 주소 형식으로 재 형식화하는 방법은 무엇입니까?

입력 : '\x01\xfa'

출력 : '01:fa'

내가 필요로하는 것은 매우 더 복잡하지만이 작업을 수행 붙어입니다. 나는 그러한 변환을하는 데 도움이 될만한 함수의 참조를 고맙게 생각한다.

답변

3

ord% operatorgenerator expression 사용 :

>>> ':'.join('%02x' % ord(ch) for ch in '\x01\xfa') 
'01:fa' 

또는 str.format로 :

>>> ':'.join('{:02x}'.format(ord(ch)) for ch in '\x0a\xfa') 
'0a:fa' 
+0

참조 주셔서 감사 솔루션뿐만 아니라입니다. – Sergio