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に適合させる方法。
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)
です。これは、str
isバイト文字列。