Converti stringa in valore ASCII in Python

Subodh Adhikari 21 dicembre 2022
  1. Usa il cicli for insieme alla funzione ord() per ottenere l’ASCII di una stringa in Python
  2. Usa la comprensione delle liste e la funzione ord() per ottenere l’ASCII di una stringa in Python
  3. Usa una funzione definita dall’utente to_ascii() per ottenere l’ASCII di una stringa in Python
Converti stringa in valore ASCII in Python

Questo tutorial introdurrà alcuni metodi per convertire una stringa in valori ASCII in Python.

Usa il cicli for insieme alla funzione ord() per ottenere l’ASCII di una stringa in Python

Possiamo usare il cicli for e la funzione ord() per ottenere il valore ASCII della stringa. La funzione ord() restituisce l’Unicode della stringa passata. Accetta 1 come lunghezza della stringa. Un cicli for viene utilizzato per iterare su una sequenza: una lista, una tupla, un dizionario, un insieme o una stringa. Pertanto, possiamo usare il cicli for per analizzare ogni carattere della stringa e convertirlo in valori ASCII.

Nel codice seguente, text è una variabile che contiene l’input dell’utente. ascii_values è inizialmente una lista vuota, che conterrà i valori ASCII di ogni carattere nella stringa in seguito. Una volta che il bucle ha completato il suo bucle, mostreremo il contenuto di ascii_values come output per l’utente. La funzione append() aggiunge un nuovo elemento alla lista ascii_values dopo ogni iterazione.

Quando eseguiamo questo programma, all’utente viene richiesta una stringa e, una volta che l’utente fornisce una stringa, questa verrà memorizzata in una variabile text. Nell’esempio, l’input è la stringa hello. Viene stampato il valore ASCII di ogni carattere della stringa.

Codice di esempio:

# 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)

Produzione:

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

Usa la comprensione delle liste e la funzione ord() per ottenere l’ASCII di una stringa in Python

Possiamo usare la comprensione delle liste per ottenere lo stesso risultato. La comprensione della lista in Python è una sintassi semplice e compatta per creare un elenco da una stringa o da un altro elenco. È un modo conciso per creare una nuova lista operando su ogni voce della lista esistente. La comprensione della lista è considerevolmente più veloce rispetto all’elaborazione di un elenco utilizzando il bucle for.

Nel codice seguente, non esiste un bucle for o while esterno. Ma all’interno della comprensione delle liste, stiamo usando il bucle for per ottenere ogni character del text.

Codice di esempio:

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

Produzione:

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

Usa una funzione definita dall’utente to_ascii() per ottenere l’ASCII di una stringa in Python

Un altro modo di scrivere il codice per raggiungere lo stesso obiettivo è utilizzare una funzione definita dall’utente. Le funzioni definite dall’utente sono funzioni utilizzate per organizzare il codice nel corpo di un criterio. Una volta definita una funzione, è possibile chiamarla in modo simile alle funzioni integrate di azione e parser. Le variabili passate a una funzione vengono passate per riferimento anziché per valore.

Nel codice seguente, usiamo una funzione definita dall’utente to_ascii per prendere text come parametro. All’interno della funzione si definisce il funzionamento del blocco e il risultato viene trasferito con la parola chiave return. Quando la funzione to_ascii viene chiamata dal modulo principale che fornisce text mentre il controllo dei parametri si trasferisce alla funzione to_ascii e viene eseguito il blocco di codice, otteniamo i valori ASCII della stringa data in un elenco.

Codice di esempio:

# 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))

Produzione:

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

Articolo correlato - Python ASCII

Articolo correlato - Python String