Pitão

Converter Bytearray em Bytes em Python

Converter Bytearray em Bytes em Python
Muitos tipos diferentes de objetos de dados são suportados pelo Python. Dois deles são os objetos bytearray e bytes. O bytearray () função retorna um objeto de array de bytes. Este objeto é mutável e suporta o número inteiro de 0 a 255. O bytes () função retorna objetos de bytes, não é alterável e suporta os inteiros de 0 a 255. Este artigo irá descrever essas funções e explicar como bytearray objetos podem ser convertidos em bytes objetos.

Sintaxe do método bytearray ()

bytearray ([data_source [, encoding [, errors]]])

Os três argumentos deste método são opcionais. O primeiro argumento é usado para inicializar a lista de bytes. Se o primeiro argumento for a string, o segundo argumento será usado para codificação. Finalmente, o terceiro argumento é usado para exibir o erro se a codificação falhar.

Sintaxe de bytes () Método

bytes ([data_source [, codificação [, erros]]])

Todos os argumentos do bytes () função são opcionais, como o bytearray () método. As funções desses argumentos também são as mesmas do bytearray () método, mencionado acima.

O método de conversão bytearray para bytes em Python é mostrado abaixo, usando alguns exemplos simples para melhor compreensão deste processo.

Exemplo 1: converter dados de lista de bytearray em bytes

Quando a função bytearray () contém apenas um argumento, o valor do argumento será um dado de dicionário ou variável. O exemplo a seguir mostra como um objeto de dicionário pode ser convertido em um objeto bytearray e como um objeto bytearray pode ser convertido em um objeto byte. Em seguida, o primeiro loop for é usado para exibir os valores da tabela de tradução dos códigos ASCII e o segundo loop for é usado para exibir os caracteres dos códigos ASCII correspondentes.

#!/ usr / bin / env python3
 
# Defina a lista
listdata = [72, 69, 76, 76, 79]
# Imprime o conteúdo da lista
print ("\ nOs valores do dicionário são: \ n", listdata)
 
# Inicializar objeto bytearray com lista
byteArrayObject = bytearray (listdata)
# Imprimir valor do objeto bytearray
print ("\ nA saída do método bytearray (): \ n", byteArrayObject)
 
# Converta o objeto bytearray em objeto bytes
byteObject = bytes (byteArrayObject)
# Imprimir valor do objeto bytes
print ("\ nA saída do método bytes (): \ n", byteObject)
 
imprimir ("\ nOs valores ASCII dos bytes")
# Iterar o objeto bytes usando loop
para val em byteObject:
imprimir (val, ", end =")
 
print ("\ nOs valores da string de bytes")
# Iterar o objeto bytes usando loop
para val em byteObject:
imprimir (chr (val), ", end =")

Resultado

A seguinte saída aparecerá após a execução do script. Aqui, 72, 69, 76 e 79 são os códigos ASCII de 'H, "E," L' e 'O', respectivamente.

Exemplo 2: converter dados de string de bytearray em bytes

O exemplo a seguir mostra a conversão de objetos bytearray em objetos byte em dados de string. Dois argumentos são usados ​​no método bytearray () deste script. O primeiro argumento contém o valor da string, enquanto o segundo argumento contém a string de codificação. Aqui, a codificação 'utf-8' é usada para converter em um objeto bytearray. O decodificar() método é usado no script para converter os objetos de bytes em dados de string. A mesma codificação é usada no momento da conversão.

#!/ usr / bin / env python3
 
# Pegue um valor de string
text = input ("Insira qualquer texto: \ n")
 
# Inicializar objeto bytearray com string e codificação
byteArrObj = bytearray (texto, 'utf-8')
print ("\ nA saída do método bytesarray (): \ n", byteArrObj)
 
# Converter bytearray em bytes
byteObj = bytes (byteArrObj)
print ("\ nA saída do método bytes (): \ n", byteObj)
 
# Converta o valor de bytes em string usando emcoding
print ("\ nOs valores da string de bytes")
imprimir (byteObj.decodificar ("utf-8"))

Resultado

A seguinte saída aparecerá após a execução do script.

Exemplo 3: converter dados inteiros de bytearray em bytes

Os exemplos anteriores mostram a conversão de bytearray e bytes com base em dados de dicionário e string. Este terceiro exemplo mostra a conversão de bytearray em bytes com base nos dados de entrada. Aqui, o valor de entrada é convertido em um valor inteiro e passado como um argumento por meio da função bytearray (), e o objeto bytearray é então convertido em um objeto bytes. Os valores nulos baseados no número inteiro são mostrados como uma saída do objeto bytearray e bytes. O número total de bytes é contado por meio do método len () no final do script e será igual ao valor inteiro passado como um argumento para o método bytearray ().

#!/ usr / bin / env python3
 
tentar:
# Pegue qualquer valor numérico
text = int (input ("Digite qualquer número:"))
 
# Inicializar objeto bytearray com número
byteArrObj = bytearray (texto)
print ("\ nA saída do método bytesarray (): \ n", byteArrObj)
 
# Converter objeto bytearray em objeto bytes
byteObj = bytes (byteArrObj)
print ("\ nA saída do método bytes (): \ n", byteObj)
 
# Imprime o tamanho do objeto bytes
print ("\ nO comprimento do objeto bytes:", len (byteObj))
exceto ValueError:
imprimir ("Digite qualquer valor numérico")

Resultado

Depois de executar o script, 6 é considerado como entrada na seguinte saída. Os seis valores nulos são exibidos como a saída de bytearray e bytes. Quando os valores nulos são contados, é exibido 6.

Exemplo 4: Criar bytearray usando append () e converter em bytes

O exemplo a seguir mostra como objetos bytearray podem ser criados por meio do método append () e convertidos em bytes. A variável arrVal é declarada aqui como um objeto bytearray. Em seguida, o método append () é chamado seis vezes para adicionar seis elementos ao array. Os códigos ASCII dos caracteres 'P, "y," t, "h," o,' e 'n' são 80, 121, 116, 104, 111 e 1120, respectivamente. Eles são adicionados no objeto bytearray. Este objeto de array é convertido no objeto de bytes posteriormente.

#!/ usr / bin / env python3
# Crie bytearray e adicione o item usando o método append ()
arrVal = bytearray ()
arrVal.anexar (80)
arrVal.anexar (121)
arrVal.anexar (116)
arrVal.anexar (104)
arrVal.anexar (111)
arrVal.anexar (110)
 
# Imprime os valores de bytearray ()
print ("\ nA saída do método bytearray (): \ n", arrVal)
 
# Converta o objeto bytearray em um objeto bytes
byteObject = bytes (arrVal)
 
# Imprimir valor do objeto bytes
print ("\ nA saída do método bytes (): \ n", byteObject)

Resultado

A seguinte saída aparecerá após a execução do script.

Conclusão

Vários métodos são mostrados neste artigo para converter bytearray em bytes após a criação de objetos bytearray. Depois de ler este artigo, espero que você entenda o conceito de bytearray e bytes, saiba como converter bytearray em bytes e seja capaz de exibir a saída de bytes como string e caracteres.

Jogos HD Remasterizados para Linux que nunca tiveram uma versão Linux anterior
Muitos desenvolvedores e editores de jogos estão apresentando remasterização em HD de jogos antigos para estender a vida da franquia, por favor, os fã...
Como usar o AutoKey para automatizar jogos Linux
AutoKey é um utilitário de automação de desktop para Linux e X11, programado em Python 3, GTK e Qt. Usando sua funcionalidade de script e MACRO, você ...
Como mostrar o contador de FPS em jogos Linux
Os jogos Linux tiveram um grande impulso quando a Valve anunciou o suporte Linux para o cliente Steam e seus jogos em 2012. Desde então, muitos jogos ...