unicode()Python 2と3の両方で動作し、Python 2で確実にUnicode出力を生成するコードで使用できるPython 2関数の代替手段はありますか?
- 関数は
unicode()python 3には存在しません six.u(u'xyz')Python 2でエラーが発生します
私は間違いなくユニコード出力を生成したいテストコードを書いているので、実行パスのどこかで非ユニコード文字列と組み合わせるとテストで爆発します-例えば
'stuff %s' % u'unistuff'
一般的なケースでは、 を使用することをお勧めしますstr()が、python 2 ではユニコードを生成しません。
私はできると思います:
if six.PY3:
unicode = str
しかし、確かに公式にサポートされている方法があります。
(そして、すべての結果はユニコード関数自体ではなく、ユニコード文字列に関するものであるため、これをグーグルで検索するのは非常に困難です)。