Bytes para amarrar em python

Bytes para amarrar em python

Em Python, sempre que armazenamos qualquer coisa, ele o armazenará como um byte. Os bytes não são legíveis por humanos, e as cordas são formas legíveis por humanos. Sempre que armazenamos qualquer string, ela não a armazena diretamente como uma string; Ele será codificado nos bytes usando diferentes métodos como ASCII e UTF-8.

Por exemplo, 'Eu sou um linuxhint'.Encodes ('ASCII')

No exemplo acima, convertemos a string em bytes usando o método de codificação ASCII. E quando o imprimimos usando o método de impressão Python, veremos resultados como B'i AM A Linuxhint '. Aqui podemos ver que a string apenas segue um personagem, b. Na verdade, não podemos ler os bytes, mas aqui a função de impressão Python decodifica os bytes para formas legíveis por humanos para que possamos ler as strings.

Mas, na verdade, quando executamos essa string para ver cada personagem das cordas bytes, ela imprimirá assim:

str1 = 'eu sou um linuxhint'
Imprimir (tipo (STR1))
str2 = b'i sou um linuxhint '
Imprimir (tipo (STR2))

Criamos duas cordas. Uma corda é direta. E a outra string é bytes. Quando imprimimos os dois tipos de string, obtemos resultados como mostrado abaixo. Os resultados abaixo mostram que uma string é um tipo de bytes e outro é um tipo de string.


Agora, imprimiremos cada personagem de ambas as cordas para encontrar a diferença entre eles. Primeiro, imprimiremos uma string (STR1) usando um loop for, que é uma string normal.

para um em STR1:
Imprimir (a)

Saída:

EU
a
m
a
eu
eu
n
você
x
h
eu
n
t

Agora, vamos imprimir outra string (STR2), que é um tipo de byte.

para um em STR2:
Imprimir (a)

Saída:

73
32
97
109
32
97
32
108
105
110
117
120
104
105
110
116

A partir dos resultados acima, podemos ver as diferenças entre o tipo de bytes e o tipo de string. Tipo de bytes não são formas legíveis por humanos.

Então, agora vamos ver métodos diferentes que podem converter os bytes em strings.

Método 1: Usando a função map ()

Neste método, usaremos a função map () para converter os bytes em um formato de string. O pequeno programa abaixo limpará o conceito.

byte = [97, 99, 100]
s = ".Join (mapa (Chr, Byte))
Impressão (s)

Saída:

ACD

Linha 1: Criamos uma lista de byte de nome.

Linha 3: Passamos os caracteres do elemento na lista como um parâmetro e um byte como um parâmetro para a função junção (), que se juntará a todos os caracteres após a conversão. Finalmente, o resultado é impresso.

Método 2: Usando a função decode ()

Outro método é uma função Decode (). A função decodificadora funciona do lado oposta da função codificina ().

#convert bytes para string usando decode ()
str = b'blogs linuxhint '
Imprimir (STR)
Imprimir (tipo (STR))
# Agora, convertendo bytes em string
saída = str.decodificar()
Print ('\ noutput:')
Imprimir (saída)
Imprimir (tipo (saída))

Saída:

b'blogs linuxhint '

Saída:

blogs linuxhint

Linha 3: Nós criamos uma string de byte.

Linha 4 a 5: Essas linhas apenas imprimem informações sobre a string que criamos na linha 3.

Linha 8: Agora, chamamos a função de decodificação e salvamos o resultado em um novo nome de variável.

Linha 11 a 12: Essas linhas mostram que agora nossa string não tem mais tipo de byte e que podemos confirmar o tipo de saída, que é um tipo de string.

Método 3: Usando os codecs.Função decodificada ()

Neste método, vamos usar codecs.Função decodificada (). Esta função é usada para converter a sequência binária em formas normais. Então, vamos ver como essa função realmente funciona.

#convert bytes para seqüência usando codecs ()
importar codecs
str = b'blogs linuxhint '
Imprimir (STR)
Imprimir (tipo (STR))
# Agora, convertendo bytes em string
saída = codecs.decodificar (str)
Print ('\ noutput:')
Imprimir (saída)
Imprimir (tipo (saída))

Saída:

b'blogs linuxhint '

Saída:

blogs linuxhint

Linha 2: Nós importamos os codecs da biblioteca.

Linha 3: Nós criamos uma string de byte.

Linha 4 a 5: Essas linhas apenas imprimem informações sobre a string que criamos na linha 3.

Linha 8: Agora estamos chamando os Caodecs.decodificar função e salvar o resultado em um novo nome de variável.

Linha 11 a 12: Essas linhas mostram que agora nossa string não tem mais tipo de byte, e podemos confirmar o tipo de saída, que é um tipo de string.

Método 4: Usando a função str ()

Também podemos converter os bytes em strings normais usando a função str (). O pequeno programa para entender este método é dado abaixo.

se __name__ == '__main__':
str1 = b'blogs linuxhint '
Imprimir (STR)
Imprimir (tipo (STR))
# Agora, convertendo bytes em string
saída = str (str1, 'utf-8')
Print ('\ noutput:')
Imprimir (saída)
Imprimir (tipo (saída))

Saída:


Saída:

blogs linuxhint

Linha 2: Nós criamos uma string de byte.

Linha 3 a 4: Essas linhas apenas imprimem informações sobre a string que criamos na linha 3.

Linha 6: Agora, chamamos a função str () e salvamos o resultado em um novo nome de variável.

Linha 7 a 9: Essas linhas mostram que agora nossa string não tem mais tipo de byte e podemos confirmar o tipo de saída, que é um tipo de string.

Conclusão

Como programadores python, trabalhamos em diferentes idiomas diariamente e, às vezes, recebemos um erro devido aos bytes. Portanto, neste artigo, estamos tentando fornecer alguns métodos como converter os bytes em string para que, quando aplicarmos qualquer método relacionado à string, você não receberá nenhum erro.

Neste tutorial, demos todos os conceitos que podemos usar para converter os bytes em strings. Você pode escolher de acordo com os requisitos do seu programa.