Bytes: Aprenda a Manipular Dados Binários com Python
Neste artigo, vamos explorar o que são bytes em Python e como podemos manipular dados binários utilizando esse tipo de dado.
Glossário
O que são bytes em Python?
Introdução
Bytes são uma unidade fundamental de armazenamento de dados em computação. Eles representam uma sequência de bits, sendo que cada byte é composto por 8 bits. Em Python, os bytes são representados pelo tipo de dado built-in chamado “bytes”.
Manipulando dados binários com Python
Python oferece diversas funcionalidades para manipular dados binários. Através do tipo de dado “bytes”, podemos realizar operações como leitura, escrita, concatenação e manipulação de bits.
Leitura de dados binários
Uma das principais operações com bytes em Python é a leitura de dados binários de um arquivo. Podemos abrir um arquivo em modo binário e ler seus bytes utilizando o método “read” do objeto de arquivo. Por exemplo:



with open('arquivo.bin', 'rb') as arquivo:
dados = arquivo.read()
Escrita de dados binários
Além da leitura, também podemos escrever dados binários em um arquivo. Para isso, utilizamos o método “write” do objeto de arquivo, passando como argumento os bytes que desejamos escrever. Por exemplo:
with open('arquivo.bin', 'wb') as arquivo:
dados = bytes([0b01010101, 0b11001100, 0b10101010])
arquivo.write(dados)
Concatenação de bytes
Outra operação comum é a concatenação de bytes. Podemos utilizar o operador de soma para concatenar dois objetos do tipo “bytes”. Por exemplo:
bytes1 = bytes([0b01010101])
bytes2 = bytes([0b11001100])
dados_concatenados = bytes1 + bytes2
Métodos para manipulação de bits em bytes
Python possui diversos métodos para manipulação de bits em bytes, como “bit_length”, “count” e “replace”. Esses métodos permitem realizar operações como contar o número de bits “1” em um byte, substituir determinados bits por outros valores, entre outros.
Métodos para manipulação de bytes em Python
Python oferece uma variedade de métodos embutidos para manipular bytes. Aqui estão alguns exemplos:
Método len
dados = bytes([0b01010101, 0b11001100, 0b10101010])
tamanho = len(dados)
Método hex
dados = bytes([0b01010101, 0b11001100, 0b10101010])
hexadecimal = dados.hex()
Método fromhex
hexadecimal = '55ccaa'
dados = bytes.fromhex(hexadecimal)
Método decode
dados = bytes([0b01010101, 0b11001100, 0b10101010])
texto = dados.decode('utf-8')
Exemplos práticos de manipulação de bytes em Python
Exemplo 1: Criptografia de dados
from cryptography.fernet import Fernet
chave = Fernet.generate_key()
cipher_suite = Fernet(chave)
dados = bytes([0b01010101, 0b11001100, 0b10101010])
dados_criptografados = cipher_suite.encrypt(dados)
Exemplo 2: Manipulação de imagens
from PIL import Image
imagem = Image.open('imagem.jpg')
dados = imagem.tobytes()
Conclusão
Neste artigo, vimos o que são bytes em Python e como podemos manipular dados binários utilizando esse tipo de dado. Exploramos os principais métodos para manipulação de bytes em Python, como leitura e escrita de arquivos binários, concatenação de bytes e manipulação de bits. Também apresentamos alguns exemplos práticos de uso de bytes em Python, como criptografia de dados e manipulação de imagens.



A manipulação de bytes em Python é uma habilidade fundamental para quem trabalha com áreas como criptografia, redes, processamento de imagens e outras aplicações que envolvam dados binários. Portanto, é importante dominar os conceitos e técnicas apresentados neste artigo.
Bytes: Aprenda a Manipular Dados Binários com Python e amplie suas possibilidades na área da computação.
A Awari é a melhor plataforma para aprender sobre ciência de dados no Brasil.
Aqui você encontra cursos com aulas ao vivo, mentorias individuais com os melhores profissionais do mercado e suporte de carreira personalizado para dar seu próximo passo profissional e aprender habilidades como Data Science, Data Analytics, Machine Learning e mais.
Já pensou em aprender de maneira individualizada com profissionais que atuam em empresas como Nubank, Amazon e Google? Clique aqui para se inscrever na Awari e começar a construir agora mesmo o próximo capítulo da sua carreira em dados.


