答えはすべて正しいですが、私はより完全な治療法を提供したいと思いました:
スクリプト リテラルで非 ASCII 文字を表す最も簡単な方法は、次のように u プレフィックスと u または U エスケープを使用することです。
print u"Look \u0411\u043e\u0440\u0438\u0441, a G-clef: \U0001d11e"
これは次のことを示しています。
- u プレフィックスを使用して、文字列が
unicode
オブジェクトであることを確認します
- 基本的な多言語面 (U+FFFD 以下) の文字に u エスケープを使用する
- 他のプレーンの文字に U エスケープを使用する (U+10000 以上)
- Ƃ (U+0182 LATIN CAPITAL LETTER B WITH TOPBAR) と Б (U+0411 CYRILLIC CAPTIAL LETTER BE) は、多くの紛らわしいほど類似した Unicode コードポイントの 1 つの例にすぎません。
どこでも機能する Python のデフォルトのスクリプト エンコーディングは ASCII です。そのため、非 ASCII 文字のリテラルをエンコードするには、上記のエスケープを使用する必要があります。次のような行を使用して、スクリプトのエンコーディングを Python インタープリターに通知できます。
# -*- coding: utf-8 -*-
これは、スクリプトのエンコーディングのみを変更します。しかし、次のように書くことができます。
print u"Look Борис, a G-clef: "
unicode
オブジェクトではなく、オブジェクトを取得するには u プレフィックスを使用する必要があることに注意してくださいstr
。
最後に、 ...に使用されるデフォルトのエンコーディングを変更することはstr
可能ですが、これはグローバルな変更であり、他の Python コードではうまく動作しない可能性があるため、お勧めしません。