Converter Bytearray em Bytes em Python

Convert Bytearray Bytes 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 matriz 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 ([fonte de dados[,codificação[,erros]]])

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 ([fonte de dados[,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 desse 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 ou variável do dicionário. 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
imprimir(' nOs valores do dicionário são: n',listdata)

# Inicializar objeto bytearray com lista
byteArrayObject= bytearray(listdata)
# Imprimir valor do objeto bytearray
imprimir(' nA saída do método bytearray (): n',byteArrayObject)

# Converta o objeto bytearray em objeto bytes
byteObject= bytes(byteArrayObject)
# Imprimir valor do objeto bytes
imprimir(' nA saída do método bytes (): n',byteObject)

imprimir(' nOs valores ASCII de bytes ')
# Iterar o objeto bytes usando loop
parahorasnobyteObject:
imprimir(horas,'',fim='')

imprimir(' nOs valores da string de bytes ')
# Iterar o objeto bytes usando loop
parahorasnobyteObject:
imprimir(chr(horas),'',fim='')

Saída

A seguinte saída aparecerá após a execução do script. Aqui, 72, 69, 76 e 79 são o código 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
texto= entrada('Digite qualquer texto: n')

# Inicializar objeto bytearray com string e codificação
byteArrObj= bytearray(texto, 'utf-8')
imprimir(' nA saída do método bytesarray (): n',byteArrObj)

# Converter bytearray em bytes
byteObj= bytes(byteArrObj)
imprimir(' nA saída do método bytes (): n',byteObj)

# Converta o valor de bytes em string usando emcoding
imprimir(' nOs valores da string de bytes ')
imprimir(byteObj.decodificar('utf-8'))

Saída

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

Experimente:
# Pegue qualquer valor numérico
texto= int(entrada('Digite qualquer número:'))

# Inicializar objeto bytearray com número
byteArrObj= bytearray(texto)
imprimir(' nA saída do método bytesarray (): n',byteArrObj)

# Converter objeto bytearray em objeto bytes
byteObj= bytes(byteArrObj)
imprimir(' nA saída do método bytes (): n',byteObj)

# Imprime o tamanho do objeto bytes
imprimir(' nO comprimento do objeto bytes: ',len(byteObj))
exceto ValueError:
imprimir('Digite qualquer valor numérico')

Saída

Depois de executar o script, 6 é considerado como entrada na saída a seguir. 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 bytes posteriormente.

#! / usr / bin / env python3

# Crie bytearray e adicione o item usando o método append ()
arrVal= bytearray()
arrVal.acrescentar(80)
arrVal.acrescentar(121)
arrVal.acrescentar(116)
arrVal.acrescentar(104)
arrVal.acrescentar(111)
arrVal.acrescentar(110)

# Imprime os valores de bytearray ()
imprimir(' 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
imprimir(' nA saída do método bytes (): n',byteObject)

Saída

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.