web-dev-qa-db-ja.com

python bytes(some_string、 'UTF-8')およびstr(some_string、 'UTF-8')

Python3用に記述されたコードをpython2.7に適合させたいのですが、この2つのためにエラーが発生します

bytes(some_string、 'UTF-8')およびstr(some_string、 'UTF-8')

私の質問:

Str(some_string、 'UTF-8')を適応させる正しい方法に従っています

a = str(some_string)

a = a.encode( 'UTF-8')

また、バイトがpython3で導入されたときに、bytes(some_string、 'UTF-8')をpython2.7に適合させる方法。

5
rahulxkumar

some_stringはすでにASCII文字列であり、これらのアクションの両方がそれをタイプstrに変換するため、python2ではsome_stringまたはstr(some_string)だけで十分です。 python 3では、strタイプはpython 2のユニコードタイプと同じです。

読んでください この答え 、私はそれがあなたの質問にうまく答えると思います。

Python 2では、strとbytesは同じタイプです:

バイトはstrTrueですPython 3では、strタイプはPython 2のユニコードタイプであり、すべての文字列のデフォルトのエンコーディングです。

言い換えると、python 2のbytes(some_string, 'UTF-8')str(some_string)です。これは、strisバイト文字列。

3
Roman