【Python】ord()を使って文字をUnicodeに変換!

Pythonのord()を使用すると指定した文字をUnicodeに変換することができます。

ord()とは指定した文字をUnicode値に返す関数であり、「あ」という文字を「12354」というUnicode値に変換して取得することができます。

そして、ord()のパラメータである文字は1文字のみであり、2文字以上の文字を指定するとエラーが発生します。

また、ord()とmap()を組み合わせて使用することで、文字をUnicodeにまとめて変換することができるのでとても便利です。

今回はPythonのord()で文字をUnicodeに変換する方法について以下の内容で解説していきます。

⚫︎ 1文字の文字列を指定する場合
⚫︎ 2文字以上の文字列を指定する場合

⚫︎ 文字をUnicodeにまとめて変換する方法
⚫︎ Unicodeに変換した値を文字に戻す方法

ord()とは

ord()とは、指定した文字をUnicodeの値で返す関数となります。

ord()の書き方

ord()の書き方は下記となります。

ord()のパラメータ

⚫︎ 変換したい文字:
Unicodeに変換したい文字を指定する

ord()に変換する文字を指定することで、指定した文字をUnicodeに変換して返します。

文字をUnicodeに変換するサンプルコード

文字をUnicodeに変換するサンプルコードを紹介します。

1文字の文字を指定する場合

ord()を使って1文字の文字を指定すると指定した文字をUnicodeに変換します。



出力結果

ord()で文字をUnicodeに変換
・変換前: あ
・変換後: 12354

・変換前: ア
・変換後: 12450

・変換前: a
・変換後: 97

・変換前: 1
・変換後: 49

ord()によって指定した文字がUnicodeに変換されてます。

2文字以上の文字を指定する場合

ord()を使って2文字以上の文字を指定するとエラーが発生します。



出力結果

TypeError: ord() expected a character, but string of length 2 found

ord()のパラメータに2文字以上の文字を指定できませんのでエラーが発生しています。

文字をUnicodeにまとめて変換する方法

map()と組み合わせて使用することで、文字をUnicodeにまとめて変換することができます。

もし、map()について詳しく知りたい場合はこちらをご参考ください。



出力結果

ord()で文字をUnicodeにまとめて変換
・変換前: [‘あ’, ‘い’, ‘う’, ‘え’, ‘お’]
・変更後: [12354, 12356, 12358, 12360, 12362]

・変換前: [‘不’, ‘動’, ‘明’, ‘王’]
・変更後: [19981, 21205, 26126, 29579]

ord()とmap()を組み合わせることによって文字をUnicodeにまとめて変換しています。
これだと、ord()を何回も使用しなくて済むので便利です。

Unicodeに変換した値を文字に戻す方法

ord()でUnicodeに変換した値を文字に戻すにはchr()を使用します。

chr()は文字列の左端の不要な文字を削除するメソッドとなります。



出力結果

・変換前: あ
・変換後: 12354

chr()でUnicodeに変換した値を文字に戻す
・chr()使用後: あ

chr()でUnicodeに変換した値を文字に戻しています。

今回のポイント

ord()で文字をUnicodeに変換

Pythonで文字をUnicodeに変換するにはord()を使用する。

⚫︎ ord()のパラメータにはUnicodeに変換したい文字を指定する

⚫︎ ord()を使って1文字の文字を指定すると指定した文字をUnicodeに変換することができる
(2文字以上の文字を指定するとエラーが発生する)

⚫︎ ord()はmap()と組み合わせて使用すると、文字をUnicodeにまとめて変換することができる

⚫︎ Unicodeに変換した値を文字に戻すにはchr()を使用する

Writer

Soshi

株式会社flyhawkのSoshiです。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。

最新の案件情報