1. ホーム
  2. パイソン

[解決済み】文字列がunicodeかasciiかを確認する方法は?

2022-03-29 05:31:51

質問

Pythonで文字列のエンコーディングを調べるにはどうしたらいいですか?

どのように解決するのですか?

Python 3 では、すべての文字列は Unicode 文字のシーケンスです。文字列には bytes 型は、生のバイトを保持します。

Python 2 では、文字列は以下のような型になることがあります。 str または unicode . どちらを使うかは、次のようなコードでわかります。

def whatisthis(s):
    if isinstance(s, str):
        print "ordinary string"
    elif isinstance(s, unicode):
        print "unicode string"
    else:
        print "not a string"

これは、quot;UnicodeまたはASCII"を区別するものではなく、Pythonの型を区別しているだけです。Unicode文字列は純粋にASCII範囲の文字から構成されるかもしれませんし、bytestringはASCII、エンコードされたUnicode、あるいは非テキストデータを含むかもしれません。