Python で文字列を ASCII 値に変換する
-
Python で
ord()
関数とともにfor
ループを使用して文字列の ASCII を取得する -
Python でリスト内包表記と
ord()
関数を使用して文字列の ASCII を取得する -
Python でユーザー定義関数
to_ascii()
を使用して文字列の ASCII を取得する
このチュートリアルでは、Python で文字列を ASCII 値に変換するいくつかの方法を紹介します。
Python で ord()
関数とともに for
ループを使用して文字列の ASCII を取得する
for
ループと ord()
関数を使用して、文字列の ASCII 値を取得できます。ord()
関数は、渡された文字列の Unicode を返します。文字列の長さとして 1
を受け入れます。for
ループは、リスト、タプル、辞書、セット、または文字列などのシーケンスを反復処理するために使用されます。したがって、for
ループを使用して文字列のすべての文字を解析し、ASCII 値に変換できます。
以下のコードでは、text
はユーザー入力を保持する変数です。ascii_values
は最初は空のリストであり、後で文字列内の各文字の ASCII 値を保持します。ループがサイクルを完了すると、ascii_values
の内容がユーザーへの出力として表示されます。append()
関数は、各反復後に新しいアイテムをリスト ascii_values
に追加します。
このプログラムを実行すると、ユーザーは文字列の入力を求められ、ユーザーが文字列を入力すると、変数 text
に格納されます。この例では、入力は文字列 hello
です。文字列の各文字の ASCII 値が出力されます。
サンプルコード:
# 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)
出力:
enter a string to convert into ASCII values: hello
[104, 101, 108, 108, 111]
Python でリスト内包表記と ord()
関数を使用して文字列の ASCII を取得する
リスト内包表記を使用して、同じ結果を得ることができます。Python のリスト内包表記は、文字列または別のリストからリストを作成するための簡単でコンパクトな構文です。これは、既存のリストの各項目を操作して、新しいリストを作成するための簡潔な方法です。リスト内包表記は、for
ループを使用してリストを処理するよりもかなり高速です。
以下のコードでは、外部で for または while
ループはありません。しかし、リスト内包表記内では、for
ループを使用して character
の各 text
を取得しています。
サンプルコード:
# python 3.x
text = input("enter a string to convert into ascii values: ")
ascii_values = [ord(character) for character in text]
print(ascii_values)
出力:
enter a string to convert into ASCII values: hello
[104, 101, 108, 108, 111]
Python でユーザー定義関数 to_ascii()
を使用して文字列の ASCII を取得する
同じ目標を達成するためのコードを記述する別の方法は、ユーザー定義関数を使用することです。ユーザー定義関数は、ポリシーの本体でコードを整理するために使用する関数です。関数を定義したら、組み込みのアクション関数やパーサー関数と同様に呼び出すことができます。関数に渡される変数は、値ではなく参照によって渡されます。
以下のコードでは、ユーザー定義関数 to_ascii
を使用して、パラメーターとして text
を取得しています。関数内でブロック演算を定義し、キーワード return
で結果を転送します。パラメータ制御が to_ascii
関数に転送され、コードブロックが実行されるときに、text
を提供するメインモジュールから関数 to_ascii
が呼び出されると、リスト内の指定された文字列の ASCII 値が取得されます。
サンプルコード:
# 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))
出力:
Enter a string:
hello
[104, 101, 108, 108, 111]