Converter Bytearray em String em Python
-
Converta
bytearraypara string com a funçãobytes()em Python -
Converta
bytearraypara string com a funçãobytearray.decode()em Python
Você pode usar dois métodos principais para converter um bytearray em uma string em Python: bytes() e bytearray.decode(). Neste tutorial, mostraremos como você pode usar essas funções como métodos para essa conversão especial.
Converta bytearray para string com a função bytes() em Python
Se tivermos um bytearray contendo caracteres string com a codificação utf-8 e quisermos converter esse array em uma variável string, podemos usar a função interna bytes() em Python.
A função bytes() retorna um objeto de bytes imutável que pode então ser armazenado dentro de uma variável string. O fragmento de código a seguir demonstra como podemos converter um bytearray em uma string com a função bytes().
b = bytearray("test", encoding="utf-8")
str1 = bytes(b)
print(str1)
Resultado:
b'test'
Convertemos o objeto bytearray b em uma variável de string str1 com a função bytes() no código acima. Primeiro, codificamos o texto test com uma codificação utf-8 dentro de um objeto de bytearray. Em seguida, convertemos o bytearray em string com a função bytes() e armazenamos o resultado dentro da variável de string str1.
No final, imprimimos os dados dentro da variável str1. A saída mostra que esse processo adiciona um objeto b no início de nossos dados originais e, em seguida, coloca os dados entre aspas simples. Este problema é tratado no método discutido a seguir.
Converta bytearray para string com a função bytearray.decode() em Python
Como podemos ver, a função bytes() converte um bytearray em uma string, mas adiciona dados adicionais à string original. Esse problema pode ser resolvido pela manipulação de strings, mas é um processo complicado. A função bytearray.decode() faz isso automaticamente para nós. Este método decodifica os dados originalmente codificados dentro do bytearray.
O fragmento de código a seguir demonstra como podemos converter um bytearray em string com a função bytearray.decode().
b = bytearray("test", encoding="utf-8")
str1 = b.decode()
print(str1)
Resultado:
test
Convertemos o objeto bytearray b em uma variável de string str1 com a função b.decode() no código acima. Primeiro, codificamos o texto test com uma codificação utf-8 dentro de um objeto de bytearray. Em seguida, convertemos o bytearray em string com a função b.decode() e armazenamos o resultado dentro da variável de string str1. No final, imprimimos os dados dentro da variável str1. A saída mostra que esse processo não adiciona nenhum dado adicional aos nossos dados codificados originalmente.
A partir das demonstrações acima, é claro que o método bytearray.decode() é muito superior ao método byte() para converter um objeto bytearray em uma variável string.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn