PYTHON] Convert hex decimal to byte array

노션으로 옮김·2020년 5월 24일
1

uitility

목록 보기
16/18
post-thumbnail

다음을 참조.

https://stackoverflow.com/questions/5649407/hexadecimal-string-to-byte-array-in-python

여러가지 방법이 있는데

...
...
 18 1d f3 97 6d 81 93 ce 76 a4 e5 5d 86 71 
 c8 e2 aa cc eb 60 db a9 3f e2 79 8d e0 8e 
 88 cc 6e 24 2f 75 37 81 4a 4c 48 b9 17 96 
 df bc 71 a6 7a 78 c9 9e 48 09 c3 30 82 f8 
 3b 63 3c 73 6f a9 2d 11 06

대충 이렇게 많은 데이터에서 사용해보니
다음의 방법이 제대로 동작했다.(Python2)

There is a built-in function in bytearray that does what you intend.

bytearray.fromhex("de ad be ef 00")

It returns a bytearray and it reads hex strings with or without space separator.

알려준 내용처럼 중간에 스페이스를 삽입해야 한다.
사용한 코드

_data = open('data', 'r').read().split(',')
_data2 = ' '.join(_data).replace('0x', '').replace('\n','')
print(_data2)

low = bytearray.fromhex(_data2)
f = open('ascii.txt', 'w')
f.write(low)
f.close()

data에서 읽어서 일련의 hex 스트링으로 변환 후, 바이트 배열로 변환시켜 파일로 저장.

0개의 댓글