PythonでUnicodeと文字列を相互変換する方法

この記事では、Pythonを使用したUnicodeと文字列の相互変換について詳しく解説します。具体的なコード例、その詳細な解説、および応用例を含めています。

目次

Unicodeとは何か

Unicode(ユニコード)は、世界中のすべての文字をコンピュータ上で一貫して扱うための文字コードの一種です。これにより、多言語や特殊文字も容易に扱えるようになります。

PythonでのUnicodeと文字列の相互変換の基本

Pythonでは、Unicode文字列と通常の文字列(バイト列)とを相互に変換することが可能です。

文字列からUnicodeへの変換

Pythonで文字列からUnicodeへ変換する基本的な方法は`ord()`関数を使用することです。

# 文字列 "A" をUnicodeに変換
unicode_code = ord("A")
print(unicode_code)  # 出力: 65

Unicodeから文字列への変換

逆に、Unicodeから文字列への変換は`chr()`関数を使用します。

# Unicode 65 を文字列に変換
char_str = chr(65)
print(char_str)  # 出力: "A"

応用例

応用例1: 文字列の全ての文字をUnicodeに変換

文字列の各文字をUnicodeに変換する例です。

# 文字列の全ての文字をUnicodeに変換
def str_to_unicode(s):
    return [ord(c) for c in s]

print(str_to_unicode("Hello"))  # 出力: [72, 101, 108, 108, 111]

応用例2: Unicodeリストを文字列に変換

Unicodeのリストを文字列に変換する例です。

# Unicodeのリストを文字列に変換
def unicode_to_str(unicode_list):
    return ''.join(chr(u) for u in unicode_list)

print(unicode_to_str([72, 101, 108, 108, 111]))  # 出力: "Hello"

応用例3: 文字列の逆順変換

文字列をUnicodeに変換し、その後逆順にしてから再度文字列に変換する例です。

# 文字列をUnicodeに変換して逆順にし、再度文字列にする
def reverse_str(s):
    unicode_list = [ord(c) for c in s]
    reversed_list = unicode_list[::-1]
    return ''.join(chr(u) for u in reversed_list)

print(reverse_str("Hello"))  # 出力: "olleH"

まとめ

Pythonを使用したUnicodeと文字列の相互変換にはいくつかの方法がありますが、基本的には`ord()`と`chr()`関数を使います。具体的な応用例を通じて、この変換がいかに簡単かつ有用かがわかるでしょう。

コメント

コメントする

目次