Converter string em valor ASCII em Python

Subodh Adhikari 30 janeiro 2023
  1. Use o loop for junto com a função ord() para obter ASCII de uma string em Python
  2. Use a Compreensão de lista e a função ord() para obter ASCII de uma string em Python
  3. Use uma função definida pelo usuário to_ascii() para obter ASCII de uma string em Python
Converter string em valor ASCII em Python

Este tutorial irá apresentar alguns métodos para converter uma string em valores ASCII em Python.

Use o loop for junto com a função ord() para obter ASCII de uma string em Python

Podemos usar o loop for e a função ord() para obter o valor ASCII da string. A função ord() retorna o Unicode da string passada. Ele aceita 1 como o comprimento da string. Um loop for é usado para iterar sobre uma sequência: uma lista, uma tupla, um dicionário, um conjunto ou uma string. Portanto, podemos usar o loop for para analisar todos os caracteres da string e convertê-los em valores ASCII.

No código abaixo, text é uma variável que contém a entrada do usuário. ascii_values é uma lista vazia inicialmente, que conterá os valores ASCII de cada caractere na string posteriormente. Uma vez que o loop tenha completado seu bucle, exibiremos o conteúdo de ascii_values como saída para o usuário. A função append() adiciona um novo item à lista ascii_values após cada iteração.

Quando executamos este programa, o usuário é solicitado com uma string, e assim que o usuário fornece uma string, ela será armazenada em uma variável text. No exemplo, a entrada é a string hello. O valor ASCII de cada caractere da string é impresso.

Código de exemplo:

# python 3.x
text = input("enter a string to convert into ascii values:")
ascii_values = []
for character in text:
    ascii_values.append(ord(character))
print(ascii_values)

Resultado:

enter a string to convert into ASCII values: hello
[104, 101, 108, 108, 111]

Use a Compreensão de lista e a função ord() para obter ASCII de uma string em Python

Podemos usar a compreensão de lista para obter o mesmo resultado. A compreensão de lista em Python é uma sintaxe fácil e compacta para criar uma lista a partir de uma string ou de outra lista. É uma forma concisa de criar uma nova lista operando em cada item da lista existente. A compreensão da lista é consideravelmente mais rápida do que processar uma lista usando o loop for.

No código abaixo, não há loop for ou while externamente. Mas dentro da compreensão de lista, estamos usando o loop for para obter cada character do text.

Código de exemplo:

# python 3.x
text = input("enter a string to convert into ascii values: ")
ascii_values = [ord(character) for character in text]
print(ascii_values)

Resultado:

enter a string to convert into ASCII values: hello
[104, 101, 108, 108, 111]

Use uma função definida pelo usuário to_ascii() para obter ASCII de uma string em Python

Outra maneira de escrever o código para atingir o mesmo objetivo é usar uma função definida pelo usuário. Funções definidas pelo usuário são funções que você usa para organizar seu código no corpo de uma política. Depois de definir uma função, você pode chamá-la de forma semelhante às funções internas de ação e de analisador. Variáveis ​​que são passadas para uma função são passadas por referência em vez de por valor.

No código abaixo, usamos uma função definida pelo usuário to_ascii para tomar text como parâmetro. Dentro da função, a operação de bloco é definida e o resultado é transferido pela palavra-chave return. Quando a função to_ascii é chamada a partir do módulo principal fornecendo text como transferência de controle de parâmetro para a função to_ascii e o bloco de código é executado, obtemos valores ASCII da string dada em uma lista.

Código de exemplo:

# python 3.x
def to_ascii(text):
    ascii_values = [ord(character) for character in text]
    return ascii_values


text = input("Enter a string: ")
print(to_ascii(text))

Resultado:

Enter a string:
hello
[104, 101, 108, 108, 111]

Artigo relacionado - Python ASCII

Artigo relacionado - Python String