반응형
16 진수 값을 가져 와서 문자열이나 정수로 바꾸는 방법을 찾고 있습니다. 예 :
>>> a = b'\x91\x44\x77\x65\x92'
>>> b = b'\x44\x45\x41\x44\x42\x45\x45\x46'
>>> a
>>> ?Dwe?
>>> b
>>> 'DEADBEEF'
a 및 b 에 대해 원하는 결과 :
>>> 9144776592
>>> '4445414442454546'
감사합니다.
해결 방법
>>> a = b'\x91\x44\x77\x65\x92'
>>> a.encode("hex")
'9144776592'
>>> b.encode('hex')
'4445414442454546'
16 진수 코덱을 사용하는 방식은 Python 2에서 작동했습니다. encode() on 8-bit strings in Python 2, ie you can encode something that is already encoded. That doesn't make sense. encode() is for encoding Unicode strings into 8-bit strings, not for encoding 8-bit 문자열을 8 비트 문자열로.
Python 3에서는 더 이상 8 비트 문자열에서 encode ()를 호출 할 수 없습니다. hex 코덱이 무의미 해져 제거되었습니다.
>>> import binascii
>>> binascii.hexlify(b'\x91\x44\x77\x65\x92')
b'9144776592'
참조 페이지 https://stackoverflow.com/questions/18298251
반응형
'파이썬' 카테고리의 다른 글
파이썬 인덱스 판다 데이터 프레임 비활성화 (0) | 2021.01.09 |
---|---|
파이썬이 파일 내용을 인쇄하도록하는 방법 (0) | 2021.01.09 |
파이썬 Python에서 문자열 대신 datetime으로 sqlite에서 datetime을 다시 읽는 방법은 무엇입니까? (0) | 2021.01.09 |
파이썬 BeautifulSoup으로 속성을 기반으로 이미지 src 추출 (0) | 2021.01.09 |
파이썬에서 파일 또는 디렉토리의 소유자를 찾는 방법 (0) | 2021.01.09 |
댓글