Python에서 바이트를 16 진수로 변환

Rayven Esplanada 2023년1월30일
  1. Python에서 바이트 리터럴 초기화
  2. hex()메서드를 사용하여 Python에서 바이트를 16 진수로 변환
  3. binascii 모듈을 사용하여 Python에서 바이트를 16 진수로 변환
Python에서 바이트를 16 진수로 변환

이 튜토리얼은 파이썬에서 바이트를 16 진수로 변환하는 방법을 소개합니다.

Python의 바이트 데이터 유형은 디스크에 변수로 저장할 수있는 바이트 시퀀스로, 인코딩 및 디코딩이 가능합니다. 문자열처럼 선언되지만 문자 b가 접두사로 붙습니다. 바이트는\x로 시작하는 특수 유니 코드 문자를 허용합니다.

Python에서 바이트 리터럴 초기화

바이트 리터럴의 예를 제공하고 특수 문자로 문자열을 선언하고encode('utf-8')함수를 사용하여이를 바이트 리터럴로 변환합니다.

byte_var = "γιαούρτι - yogurt".encode("utf-8")

print(byte_var)

출력:

b'\xce\xb3\xce\xb9\xce\xb1\xce\xbf\xcf\x8d\xcf\x81\xcf\x84\xce\xb9 - yogurt'

encode()의 출력은 문자b가 접두사로 붙은 바이트 리터럴이되고 특수 문자는 유니 코드 기호로 변환됩니다.

이제 바이트 선언이 다루어졌습니다. 바이트를 16 진수로 변환 해 보겠습니다.

hex()메서드를 사용하여 Python에서 바이트를 16 진수로 변환

Python 3.5에서 도입 된 hex()메서드는이를 16 진수 문자열로 변환합니다.

이 경우 인수는 16 진수로 변환 할 바이트 데이터 유형이됩니다.

byte_var = "γιαούρτι - yogurt".encode("utf-8")

print("Byte variable: ", byte_var)
print("Hexadecimal: ", byte_var.hex())

출력:

Byte variable:  b'\xce\xb3\xce\xb9\xce\xb1\xce\xbf\xcf\x8d\xcf\x81\xcf\x84\xce\xb9 - yogurt'
Hexadecimal:  ceb3ceb9ceb1cebfcf8dcf81cf84ceb9202d20796f67757274

binascii 모듈을 사용하여 Python에서 바이트를 16 진수로 변환

binascii Python 모듈에는 바이너리 및 ASCII 작업을위한 효율적인 유틸리티 함수가 포함되어 있습니다.

이 모듈에는 주어진 인수의 16 진수 값을 반환하는 함수hexlify()가 있는데, 이는 이진 값입니다.

이 예에서 인수는 16 진수로 변환 할 바이트 변수입니다.

import binascii

byte_var = "γιαούρτι - yogurt".encode("utf-8")

print("Byte variable: ", byte_var)
print("Hexadecimal: ", binascii.hexlify(byte_var))

출력:

Byte variable:  b'\xce\xb3\xce\xb9\xce\xb1\xce\xbf\xcf\x8d\xcf\x81\xcf\x84\xce\xb9 - yogurt'
Hexadecimal:  b'ceb3ceb9ceb1cebfcf8dcf81cf84ceb9202d20796f67757274'

hexlify()의 반환 값은 변환 된 문자열을 반환하는hex()와 달리 바이트 리터럴을 반환합니다.

결과를 문자열로 변환하려면decode('utf-8')함수를 사용하십시오.

import binascii

byte_var = "γιαούρτι - yogurt".encode("utf-8")

print("Byte variable: ", byte_var)
print("Hexadecimal: ", "" + binascii.hexlify(byte_var).decode("utf-8"))

출력:

Byte variable:  b'\xce\xb3\xce\xb9\xce\xb1\xce\xbf\xcf\x8d\xcf\x81\xcf\x84\xce\xb9 - yogurt'
Hexadecimal:  ceb3ceb9ceb1cebfcf8dcf81cf84ceb9202d20796f67757274

이제 16 진 결과가 바이트 리터럴에서 문자열로 변환됩니다.

요약하자면, 파이썬에서 바이트를 16 진수로 변환하는 두 가지 방법을 다뤘습니다. 가장 간단한 방법은 내장 함수hex()를 바이트 리터럴에 사용하는 것입니다. 또는binascii 모듈의hexlify()함수를 사용하여 동일한 출력을 생성 할 수도 있습니다.

Rayven Esplanada avatar Rayven Esplanada avatar

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 Hex