Python 2 str
はbytes
と互換性がありますが、Python 3 str
ではunicode
です。文字列をバイトとして解釈する方法は?
私はいくつかのプロジェクトをPython3に移植していますが、Python2.7をサポートしています。 このプロジェクトは、多くの文字列定数を持つテストを持っています。また、'...'.join(...)
と'...'.format(...)
はほとんどありません。
Python3を作成する方法b'123' == '123'
?
Python 2 str
はbytes
と互換性がありますが、Python 3 str
ではunicode
です。文字列をバイトとして解釈する方法は?
私はいくつかのプロジェクトをPython3に移植していますが、Python2.7をサポートしています。 このプロジェクトは、多くの文字列定数を持つテストを持っています。また、'...'.join(...)
と'...'.format(...)
はほとんどありません。
Python3を作成する方法b'123' == '123'
?
>>> '123ü'.encode('utf-8')
b'123\xc3\xbc'
または
>>> bytes('123ü', 'utf-8')
b'123\xc3\xbc'
で
しかし、あなたはおそらくことを別の方法を持って、そして容易な移行のためPY2でUTF-8を使用します。
# -*- coding: utf-8 -*-
from __future__ import unicode_literals`
すべての文字列をPy2でu''
とすることができます。
'unicode_literals'を逆にしたい – eri
できません。代わりに明示的にバイトにエンコードします。 –
Py2.6から3.xへの互換性を得るには、 'from __future__ import unicode_literals'を使用することをお勧めします。 – John1024
を' unicode_literals'とすると、定数を書き直す必要がありますが、バイトと比較して、 。 – eri