Python 文字列のエンコーディングを確認する方法
エンコードは指定されたエンコード形式にエンコードし、バイト配列を返します。デコードはバイト配列を文字列にエンコードします。
例を以下に示す:
str = "你好"
encoded_str = str.encode("utf-8")
print(encoded_str) # b'\xe4\xbd\xa0\xe5\xa5\xbd'
decoded_str = encoded_str.decode("utf-8")
print(decoded_str) # 你好
上の例では、strは中文字を格納した文字列です。encode()メソッドを使ってUTF-8形式にエンコードします。エンコード後の文字列はb’\xe4\xbd\xa0\xe5\xa5\xbd’となり、\xは16進数値を表しています。次に、decode()メソッドを使ってバイト配列を文字列にデコードすると、元の漢字文字列が得られます。
sys.getdefaultencoding()関数を使用して、現在の 文字列のエンコーディング形式を確認できます。この関数から、Pythonインタープリタの既定の文字列エンコーディング形式が返されます。
import sys
print(sys.getdefaultencoding()) # utf-8
提示した例では、sys.getdefaultencoding() 関数は UTF-8 エンコーディング形式を返します。