Python에서 16 진수를 바이트로 변환
이 튜토리얼은 파이썬에서 16 진수 값을 바이트 리터럴로 변환하는 방법을 소개합니다.
16 진수 또는 16 진수 값은 10 진수 값의 일반적인 10 개 기호 대신 16 개 기호로 구성된 숫자를 나타냅니다. 0에서 9까지의 숫자와 a
에서 e
까지의 문자는 16 개의 16 진수 기호를 구성합니다.
예를 들어 숫자 1000
의 16 진수 변환은 3E8
입니다.
16 진수 값 초기화
문자열을 이용하여 16진수 값을 생성하고 binascii
모듈의 함수인 hexlify()
함수를 사용하여 A quick brown fox
라는 문구를 hex 값으로 변환해 봅시다.
또한 문자열을 16 진수로 변환하려면 문자열을 16 진수로 변환 할 수 있도록 바이트로 변환해야합니다.
import binascii
str_val = "A quick brown fox".encode("utf-8")
hex_val = binascii.hexlify(str_val).decode("utf-8")
print(hex_val)
출력:
4120717569636b2062726f776e20666f78
이제 문자열을 16 진수로 성공적으로 변환했습니다. 16 진수를 바이트로 변환하는 방법을 계속 진행하겠습니다.
Python에서bytes.fromhex()
를 사용하여 16 진수를 바이트로 변환
bytes.fromhex()
함수는 단일 16 진수 값 인수를 받아 바이트 리터럴로 변환합니다.
이전 결과에서 16 진수 값을 가져 와서fromhex()
를 사용하여 바이트 리터럴로 변환합니다.
hex_val = "4120717569636b2062726f776e20666f78"
print(bytes.fromhex(hex_val))
출력:
Byte value: b'A quick brown fox'
결과는 값이 바이트 리터럴임을 지정하기 위해 문자 b
가 접두사 인 16 진수로 변환 된 구문 인 bytes
리터럴을 출력합니다.
unhexlify
모듈을 사용하여 Python에서 16 진수를 바이트로 변환
binascii
Python 모듈에는 바이너리 및 ASCII 작업을위한 효율적인 유틸리티 함수가 포함되어 있습니다. unhexlify()
는 16 진수 값을 바이트 리터럴로 변환하는binascii
모듈 내의 함수입니다.
ASCII가 아닌 특수 문자로 새 예제를 초기화 한 다음 16 진수 값으로 변환 해 보겠습니다. 예를 들면 a quick brown fox
라는 문구의 그리스어 번역입니다.
import binascii
from binascii import unhexlify
str_val = "Μια γρήγορη καφέ αλεπού".encode(
"utf-8"
) # A quick brown fox in Greek translation
hex_val = binascii.hexlify(str_val).decode("utf-8")
print("String value: ", str_val.decode("utf-8"))
print("Hexadecimal: ", hex_val)
print("Byte value: ", unhexlify(hex_val))
출력:
String value: Μια γρήγορη καφέ αλεπού
Hexadecimal: ce9cceb9ceb120ceb3cf81ceaeceb3cebfcf81ceb720cebaceb1cf86cead20ceb1cebbceb5cf80cebfcf8d
Byte value: b'\xce\x9c\xce\xb9\xce\xb1 \xce\xb3\xcf\x81\xce\xae\xce\xb3\xce\xbf\xcf\x81\xce\xb7 \xce\xba\xce\xb1\xcf\x86\xce\xad \xce\xb1\xce\xbb\xce\xb5\xcf\x80\xce\xbf\xcf\x8d'
이제 16 진수 값을 바이트로 성공적으로 변환했습니다.
이 기사에서는fromhex()
및binascii.unhexlify()
를 사용하여 파이썬에서 16 진수 값을 바이트 리터럴로 변환하는 방법에 대해 설명했습니다. 소스 코드에 임포트를 추가하지 않으려면fromhex()
가 바람직합니다. 그렇지 않으면 두 함수가 동일한 출력을 제공합니다.
Skilled in Python, Java, Spring Boot, AngularJS, and Agile Methodologies. Strong engineering professional with a passion for development and always seeking opportunities for personal and career growth. A Technical Writer writing about comprehensive how-to articles, environment set-ups, and technical walkthroughs. Specializes in writing Python, Java, Spring, and SQL articles.
LinkedIn관련 문장 - Python Bytes
- Python 2.7 및 3.x 에서 바이트를 정수로 변환하는 방법
- Python 2 및 Python 3에서 Int 를 바이트로 변환하는 방법
- 파이썬에서 Int를 바이너리로 변환하는 방법
- Python 2 및 Python 3에서 바이트를 문자열로 변환하는 방법
- 파이썬에서 문자열을 바이트로 변환하는 방법
- Python에서 문자열 앞의 B