文字列のエンコーディングを確認するには、Python で何をすればよいですか?
ベストアンサー1
bytes
Python 3 では、すべての文字列は Unicode 文字のシーケンスです。生のバイトを保持する型があります。
str
Python 2 では、文字列は 型または 型のいずれかになりますunicode
。 次のようなコードを使用して、どちらであるかを判別できます。
def whatisthis(s):
if isinstance(s, str):
print "ordinary string"
elif isinstance(s, unicode):
print "unicode string"
else:
print "not a string"
これは「Unicode または ASCII」を区別するものではなく、Python の型のみを区別します。Unicode 文字列は ASCII 範囲の文字のみで構成され、バイト文字列には ASCII、エンコードされた Unicode、または非テキスト データが含まれる場合があります。