Python で文字列を ASCII 値に変換する

Subodh Adhikari 2023年1月30日
  1. Python で ord() 関数とともに for ループを使用して文字列の ASCII を取得する
  2. Python でリスト内包表記と ord() 関数を使用して文字列の ASCII を取得する
  3. Python でユーザー定義関数 to_ascii() を使用して文字列の ASCII を取得する
Python で文字列を 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]

関連記事 - Python ASCII

関連記事 - Python String