私が書いている Python プログラムでは、© (著作権) 記号を出力する必要があります。これを行う簡単な方法はありますか?それとも、Python ではサポートされていませんか? これが例です。
print ("\(copyright symbol here\)")
ごく簡単な問題です。ありがとう!
Python では、3 つの方法で文字列内に Unicode 文字を配置できます。u"…"
(3.x の代わりに2.x を使用している場合は、Unicode 文字列を使用する方が簡単"…"
です。unichr
chr
U
と 8 桁を使用します。'\N{COPYRIGHT SIGN}'
処置: Unicodeエンティティ名のエスケープ・シーケンスを使用してください。
COPYRIGHT SIGN
明らかに よりも読みやすくなって00a9
います。間接的に処理することもできます。たとえば、上記のリテラルと同じ文字列を返しますunicodedata.lookup('COPYRIGHT SIGN')
。chr(0xa9)
しかし、リテラルを使用しない理由はありません。
Python docsのUnicode HOWTOには、これに関するより詳細な情報があります。すべてを読みたくない場合は、文字列型で、さまざまな種類のエスケープ シーケンスについて説明します (および、Unicode とバイト文字列の間のエンコード/デコードの問題について説明します) 。 、これは 2.x で特に重要です)、およびPython ソース コードの Unicode リテラルでは、コーディング宣言を指定する方法について説明しています。
使用できるすべての文字の公式リストが必要な場合は、単にグーグル検索するのではなく、unicodedata
お使いのバージョンの Python のドキュメントを参照してください。このドキュメントには、適切なバージョンの Unicode Character Database へのリンクが含まれています。(たとえば、3.3.0 では 6.1.0、2.7.3 では 5.2.0 など) 実際のリストにアクセスするには、いくつかのリンクをたどる必要がありますが、これが唯一の方法です。 Python にコンパイルされたものとまったく同じであることが保証されているものを取得します。(そして、それが気にならない場合は、Google で検索するか、Wikipedia またはコンピューターの文字ビューアーを使用することもできます。)
Python 2 の場合:
>>> print u"\u00a9"
©
>>> print u"\N{COPYRIGHT SIGN}"
©
Python 3 では:
>>> print("\u00a9")
©
>>> print("\N{COPYRIGHT SIGN}")
©
>>> print("©")
©
Python 2 では、文字列の前に au ( u"..."
) を付けて、python に Unicode 文字列であることを伝える必要があります。ただし、Python 3 ではすべての文字列が Unicode 文字列であるため、文字列の先頭に u を付ける必要はありません (実際には 3.0-3.2 では許可されていません)。
ここで文字とその名前/ユニコード値のリストを表示できます: http://www.fileformat.info/info/charset/UTF-16/list.htmここ で使用されている著作権記号と同じように使用できます
著作権記号は Unicode 文字です。端末がこの文字を含む文字エンコーディング (utf-8 や cp1252 など) をサポートしている場合は、次のように出力できます。
これは、端末の文字エンコーディングを検出する Python に依存しています。
In [64]: print(u'\N{COPYRIGHT SIGN}')
©
これは明示的なエンコーディングを使用します(私の端末はutf-8文字エンコーディングを使用するように設定されているため、たまたま機能します):
In [65]: print(u'\N{COPYRIGHT SIGN}'.encode('utf-8'))
©
print u"\u00A9"
ここで、「\u00A9」は著作権記号の Unicode 文字です。
もちろん!著作権記号を入力します。
print("©")
(Python には、たとえば HTML にあるような文字エンティティはありません。)