Python | 文字列のエンコーディング(文字コード)を変換、取得する方法

Python 判別・判定,Python

Python | 文字列のエンコーディング(文字コード)を変換、取得する方法

Pythonの()メソッドを使って文字列のエンコーディング(文字コード)を変換する方法とサンプルコードを紹介しています。

確認環境

Windows11 ローカル
Python python-3.11.1

文字列のエンコーディング(文字コード)を変換する

Pythonで文字列のエンコーディング(文字コード)を変換するにはencode()メソッドが利用可能です。

第一引数に変換または固定しておきたい文字コードを指定します。

文字列の文字コードを「UTF-8」に変換、固定する場合は以下のように指定します。

str = 'あいうえお'.encode('utf-8')

文字列の文字コードを「Shift_JIS」に変換、固定する場合は以下のように指定します。

str = 'あいうえお'.encode('shift_jis')

エンコーディング(文字コード)を確認する

文字コードが問題なく変換されているか確認する為に「chardet」ライブラリのchardet.detect()関数を実行します。

「chardet」ライブラリは別途インストールが必要となっています。

pip install chardet

chardet.detect()関数は第一引数に文字コードを取得したい値が入るようにします。
この関数の返り値はエンコーディング(文字コード)の名前となります。

import chardet

def getEncoding(str):
	result = chardet.detect(str)
	return result['encoding']


str = 'あいうえお'.encode('utf-8')
print(getEncoding(str))
# utf-8