Converter Byte em Hex em Python
- Inicializar um Byte Literal em Python
-
Utilize o
hex()
Método para Converter um Byte em Hex em Python -
Utilize o módulo
binascii
para converter um Byte em Hex em Python
Este tutorial irá introduzir como converter bytes em hexadecimal em Python.
O tipo de dados de bytes em Python é uma sequência de bytes que pode ser armazenada no disco como uma variável, que pode então ser codificada e descodificada. São declarados como uma string mas prefixados pelo carácter b
. Os bytes aceitam caracteres Unicode especiais prefixados com \x
.
Inicializar um Byte Literal em Python
Daremos um exemplo de um byte literal, declararemos uma string com caracteres especiais, e utilizaremos a função encode('utf-8')
para convertê-lo para um byte literal.
byte_var = "γιαούρτι - yogurt".encode("utf-8")
print(byte_var)
Resultado:
b'\xce\xb3\xce\xb9\xce\xb1\xce\xbf\xcf\x8d\xcf\x81\xcf\x84\xce\xb9 - yogurt'
A saída de encode()
resultará num byte literal prefixado com o carácter b
e os caracteres especiais convertidos em símbolos Unicode.
Agora a declaração de um byte está coberta, vamos prosseguir com a conversão de um byte em hexadecimal.
Utilize o hex()
Método para Converter um Byte em Hex em Python
O método hex()
introduzido a partir de Python 3.5 converte-o numa string hexadecimal.
Neste caso, o argumento será de um tipo de dados byte a ser convertido em hexadecimal.
byte_var = "γιαούρτι - yogurt".encode("utf-8")
print("Byte variable: ", byte_var)
print("Hexadecimal: ", byte_var.hex())
Resultado:
Byte variable: b'\xce\xb3\xce\xb9\xce\xb1\xce\xbf\xcf\x8d\xcf\x81\xcf\x84\xce\xb9 - yogurt'
Hexadecimal: ceb3ceb9ceb1cebfcf8dcf81cf84ceb9202d20796f67757274
Utilize o módulo binascii
para converter um Byte em Hex em Python
O módulo binascii
Python contém funções utilitárias eficientes para operações binárias e ASCII.
Dentro deste módulo, existe uma função hexlify()
que retorna um valor hexadecimal do argumento dado, que é um valor binário.
Neste exemplo, o argumento será a variável byte a ser convertida em hexadecimal.
import binascii
byte_var = "γιαούρτι - yogurt".encode("utf-8")
print("Byte variable: ", byte_var)
print("Hexadecimal: ", binascii.hexlify(byte_var))
Resultado:
Byte variable: b'\xce\xb3\xce\xb9\xce\xb1\xce\xbf\xcf\x8d\xcf\x81\xcf\x84\xce\xb9 - yogurt'
Hexadecimal: b'ceb3ceb9ceb1cebfcf8dcf81cf84ceb9202d20796f67757274'
Note-se que o valor de retorno de hexlify()
retorna um byte literal, ao contrário de hex()
, que retorna uma string convertida.
Se quiser converter o resultado numa string, utilize a função 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"))
Resultado:
Byte variable: b'\xce\xb3\xce\xb9\xce\xb1\xce\xbf\xcf\x8d\xcf\x81\xcf\x84\xce\xb9 - yogurt'
Hexadecimal: ceb3ceb9ceb1cebfcf8dcf81cf84ceb9202d20796f67757274
Agora o resultado hexadecimal é convertido numa string a partir de um byte literal.
Em resumo, cobrimos 2 métodos de conversão de um byte em hexadecimal em Python. A forma mais simples é utilizar a função integrada hex()
para um byte literal. Alternativamente, a função hexlify()
do módulo binascii
também pode ser utilizada para produzir a mesma saída.
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.
LinkedInArtigo relacionado - Python Bytes
- Como Converter Bytes para Integers em Python 2.7 e 3.x
- Como Converter Int em Bytes em Python 2 e Python 3
- Converter Int para Binário em Python
- Como Converter Bytes em Strings em Python 2 e Python 3
- Como Converter strings em Bytes em Python
- B na frente da string em Python