1. ホーム
  2. python

[解決済み] Pythonです。Unicodeエスケープされた文字列で .format() を使用する

2022-04-26 14:49:31

質問

Python 2.6.5を使用しています。私のコードでは、"more than or equal to"の記号を使用する必要があります。以下はその内容です。

>>> s = u'\u2265'
>>> print s
>>> ≥
>>> print "{0}".format(s)
Traceback (most recent call last):
     File "<input>", line 1, in <module> 
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2265'
  in position 0: ordinal not in range(128)`  

なぜこのようなエラーが発生するのでしょうか?正しい方法はあるのでしょうか?私は .format() 関数を使用してください。

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

2つ目の文字列もユニコード文字列にすればいいだけです

>>> s = u'\u2265'
>>> print s
≥
>>> print "{0}".format(s)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2265' in position 0: ordinal not in range(128)
>>> print u"{0}".format(s)
≥
>>>